=================================================================== RCS file: /cvs/gnome/libgnomeui/file-chooser/gtkfilesystemgnomevfs.c,v retrieving revision 1.82 retrieving revision 1.83 diff -u -r1.82 -r1.83 --- gtkfilesystemgnomevfs.c 2006/09/04 19:05:23 1.82 +++ gtkfilesystemgnomevfs.c 2006/09/12 03:55:18 1.83 @@ -367,6 +367,7 @@ gpointer user_data); static gboolean execute_vfs_callbacks_idle (gpointer data); +static void execute_vfs_callbacks (gpointer data); static gchar *make_child_uri (const gchar *base_uri, const gchar *child_name, @@ -612,7 +613,7 @@ system_vfs->execute_vfs_callbacks_idle_id = 0; /* call pending callbacks */ - execute_vfs_callbacks_idle (system_vfs); + execute_vfs_callbacks (system_vfs); } /* cancel pending VFS operations */ @@ -3541,15 +3542,13 @@ } /* some code for making callback calls from idle */ -static gboolean -execute_vfs_callbacks_idle (gpointer data) +static void +execute_vfs_callbacks (gpointer data) { GSList *l; gboolean unref_file_system = TRUE; GtkFileSystemGnomeVFS *system_vfs = GTK_FILE_SYSTEM_GNOME_VFS (data); - GDK_THREADS_ENTER (); - if (!system_vfs->execute_vfs_callbacks_idle_id) unref_file_system = FALSE; else @@ -3571,6 +3570,14 @@ g_object_unref (system_vfs); system_vfs->execute_vfs_callbacks_idle_id = 0; +} + +static gboolean +execute_vfs_callbacks_idle (gpointer data) +{ + GDK_THREADS_ENTER (); + + execute_vfs_callbacks (data); GDK_THREADS_LEAVE ();