92c9a62
--- libgnomeui-2.16.0/file-chooser/gtkfilesystemgnomevfs.c.destroy-deadlock	2006-09-04 10:10:02.000000000 -0400
92c9a62
+++ libgnomeui-2.16.0/file-chooser/gtkfilesystemgnomevfs.c	2006-09-11 23:18:06.000000000 -0400
92c9a62
@@ -367,6 +367,7 @@
92c9a62
 				     gpointer                  user_data);
92c9a62
 
92c9a62
 static gboolean execute_vfs_callbacks_idle (gpointer data);
92c9a62
+static void     execute_vfs_callbacks      (gpointer data);
92c9a62
 
92c9a62
 static gchar *make_child_uri (const gchar *base_uri,
92c9a62
 			      const gchar *child_name,
92c9a62
@@ -612,7 +613,7 @@
92c9a62
       system_vfs->execute_vfs_callbacks_idle_id = 0;
92c9a62
 
92c9a62
       /* call pending callbacks */
92c9a62
-      execute_vfs_callbacks_idle (system_vfs);
92c9a62
+      execute_vfs_callbacks (system_vfs);
92c9a62
     }
92c9a62
 
92c9a62
   /* cancel pending VFS operations */
92c9a62
@@ -3538,15 +3539,13 @@
92c9a62
 }
92c9a62
 
92c9a62
 /* some code for making callback calls from idle */
92c9a62
-static gboolean
92c9a62
-execute_vfs_callbacks_idle (gpointer data)
92c9a62
+static void
92c9a62
+execute_vfs_callbacks (gpointer data)
92c9a62
 {
92c9a62
   GSList *l;
92c9a62
   gboolean unref_file_system = TRUE;
92c9a62
   GtkFileSystemGnomeVFS *system_vfs = GTK_FILE_SYSTEM_GNOME_VFS (data);
92c9a62
 
92c9a62
-  GDK_THREADS_ENTER ();
92c9a62
-
92c9a62
   if (!system_vfs->execute_vfs_callbacks_idle_id)
92c9a62
     unref_file_system = FALSE;
92c9a62
   else
92c9a62
@@ -3568,6 +3567,14 @@
92c9a62
     g_object_unref (system_vfs);
92c9a62
 
92c9a62
   system_vfs->execute_vfs_callbacks_idle_id = 0;
92c9a62
+}
92c9a62
+
92c9a62
+static gboolean
92c9a62
+execute_vfs_callbacks_idle (gpointer data)
92c9a62
+{
92c9a62
+  GDK_THREADS_ENTER ();
92c9a62
+
92c9a62
+  execute_vfs_callbacks (data);
92c9a62
 
92c9a62
   GDK_THREADS_LEAVE ();
92c9a62