[Xfce4-commits] r22625 - xarchiver/trunk/src

Giuseppe Torelli colossus at xfce.org
Wed Aug 2 08:08:24 UTC 2006


Author: colossus
Date: 2006-08-02 08:08:23 +0000 (Wed, 02 Aug 2006)
New Revision: 22625

Modified:
   xarchiver/trunk/src/callbacks.c
   xarchiver/trunk/src/extract_dialog.c
   xarchiver/trunk/src/iso.c
Log:
Allowed extraction to stop with ISO images.


Modified: xarchiver/trunk/src/callbacks.c
===================================================================
--- xarchiver/trunk/src/callbacks.c	2006-08-02 07:46:47 UTC (rev 22624)
+++ xarchiver/trunk/src/callbacks.c	2006-08-02 08:08:23 UTC (rev 22625)
@@ -29,7 +29,7 @@
 extern GList *ArchiveType;
 extern GList *ArchiveSuffix;
 extern gboolean cli;
-struct iso_primary_descriptor ipd;
+extern gboolean ISO_stop_flag;
 
 #ifndef HAVE_STRCASESTR
 /*
@@ -1064,7 +1064,10 @@
 	}
 	gtk_widget_set_sensitive ( Stop_button , FALSE );
     Update_StatusBar (_("Waiting for the process to abort..."));
-    if ( kill ( archive->child_pid , SIGABRT ) < 0 )
+	
+	if (archive->type == XARCHIVETYPE_ISO)
+		ISO_stop_flag = TRUE;
+	else if ( kill ( archive->child_pid , SIGABRT ) < 0 )
     {
         response = ShowGtkMessageDialog (GTK_WINDOW (MainWindow),GTK_DIALOG_MODAL,GTK_MESSAGE_ERROR,GTK_BUTTONS_OK,_("An error occurred while trying to kill the process:"),g_strerror(errno));
 	    return;
@@ -1073,6 +1076,8 @@
     if (archive->status != XA_ARCHIVESTATUS_ADD || archive->status != XA_ARCHIVESTATUS_DELETE)
         if (archive->has_passwd)
 			archive->has_passwd = FALSE;
+	
+	archive->status = XA_ARCHIVESTATUS_IDLE;
 }
 
 void View_File_Window ( GtkMenuItem *menuitem , gpointer user_data )

Modified: xarchiver/trunk/src/extract_dialog.c
===================================================================
--- xarchiver/trunk/src/extract_dialog.c	2006-08-02 07:46:47 UTC (rev 22624)
+++ xarchiver/trunk/src/extract_dialog.c	2006-08-02 08:08:23 UTC (rev 22625)
@@ -24,6 +24,7 @@
 #include "support.h"
 
 gchar *strip_string = NULL;
+gboolean ISO_stop_flag = FALSE;
 
 Extract_dialog_data *xa_create_extract_dialog (gint selected , XArchive *archive)
 {
@@ -501,6 +502,8 @@
 					dialog_data->dialog1 = NULL;
 					while (end)
 					{
+						if (ISO_stop_flag)
+							break;
 						gtk_tree_model_get (model, &iter,
 						0, &name,
 						1, &permissions,

Modified: xarchiver/trunk/src/iso.c
===================================================================
--- xarchiver/trunk/src/iso.c	2006-08-02 07:46:47 UTC (rev 22624)
+++ xarchiver/trunk/src/iso.c	2006-08-02 08:08:23 UTC (rev 22625)
@@ -587,13 +587,12 @@
 
 gboolean xa_create_directory_for_iso_extraction ( XArchive *archive,gchar *path_name )
 {
-
 	if (g_mkdir_with_parents (path_name,0755) != 0)
 	{
 		response = ShowGtkMessageDialog (GTK_WINDOW (MainWindow),GTK_DIALOG_MODAL,GTK_MESSAGE_ERROR,GTK_BUTTONS_OK,_("Can't create directory:"),g_strerror(errno) );
 		return FALSE;
 	}
-	return TRUE;	
+	return TRUE;
 }
 
 void OpenISO ( XArchive *archive )



More information about the Xfce4-commits mailing list