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 )

_______________________________________________
Xfce4-commits mailing list
[email protected]
http://foo-projects.org/mailman/listinfo/xfce4-commits

Reply via email to