libgnomeui r5576 - in trunk: . file-chooser po



Author: kmaraas
Date: Mon Mar 10 14:49:31 2008
New Revision: 5576
URL: http://svn.gnome.org/viewvc/libgnomeui?rev=5576&view=rev

Log:
========================== libgnome 2.22.0  =======================

	* configure.in: Bump version.
	* NEWS: Update.
	* file-chooser/gtkfilesystemgio.c: Fixes to threading to
	avoid a hang in the file chooser. (Bastien)

Modified:
   trunk/ChangeLog
   trunk/NEWS
   trunk/configure.in
   trunk/file-chooser/gtkfilesystemgio.c
   trunk/po/ChangeLog

Modified: trunk/NEWS
==============================================================================
--- trunk/NEWS	(original)
+++ trunk/NEWS	Mon Mar 10 14:49:31 2008
@@ -1,3 +1,8 @@
+libgnomeui 2.22.0
+
+* Fix hang in the file chooser backend.
+* Updated translation.
+
 libgnomeui 2.21.93
 
 * Remove some dead code

Modified: trunk/configure.in
==============================================================================
--- trunk/configure.in	(original)
+++ trunk/configure.in	Mon Mar 10 14:49:31 2008
@@ -9,9 +9,9 @@
 # set LIBGNOMEUI_BINARY_AGE and LIBGNOMEUI_INTERFACE_AGE to 0.
 #
 m4_define([libgnomeui_major_version], [2])
-m4_define([libgnomeui_minor_version], [21])
-m4_define([libgnomeui_micro_version], [93])
-m4_define([libgnomeui_interface_age], [5])
+m4_define([libgnomeui_minor_version], [22])
+m4_define([libgnomeui_micro_version], [0])
+m4_define([libgnomeui_interface_age], [0])
 # If you need a modifier for the version number. 
 # Normally empty, but can be used to make "fixup" releases.
 m4_define([libgnomeui_extraversion], [])

Modified: trunk/file-chooser/gtkfilesystemgio.c
==============================================================================
--- trunk/file-chooser/gtkfilesystemgio.c	(original)
+++ trunk/file-chooser/gtkfilesystemgio.c	Mon Mar 10 14:49:31 2008
@@ -396,7 +396,9 @@
   GtkFileSystemGio *impl;
 
   impl = GTK_FILE_SYSTEM_GIO (user_data);
+  gdk_threads_enter ();
   g_signal_emit_by_name (impl, "volumes-changed");
+  gdk_threads_leave ();
 }
 
 static gchar *
@@ -654,7 +656,9 @@
 				     NULL, NULL, NULL);
 
       folder->finished_loading = TRUE;
+      gdk_threads_enter ();
       g_signal_emit_by_name (folder, "finished-loading", 0);
+      gdk_threads_leave ();
       g_object_unref (folder);
       return;
     }
@@ -678,7 +682,9 @@
 				      enumerator_files_callback,
 				      folder);
 
+  gdk_threads_enter ();
   g_signal_emit_by_name (folder, "files-added", added_files);
+  gdk_threads_leave ();
   g_slist_foreach (added_files, (GFunc) g_free, NULL);
   g_slist_free (added_files);
 
@@ -701,10 +707,14 @@
   switch (event)
     {
     case G_FILE_MONITOR_EVENT_CREATED:
+      gdk_threads_enter ();
       g_signal_emit_by_name (folder, "files-added", files);
+      gdk_threads_leave ();
       break;
     case G_FILE_MONITOR_EVENT_DELETED:
+      gdk_threads_enter ();
       g_signal_emit_by_name (folder, "files-removed", files);
+      gdk_threads_leave ();
       break;
     default:
       break;
@@ -754,9 +764,11 @@
       g_object_unref (enumerator);
     }
 
+  gdk_threads_enter ();
   ((GtkFileSystemGetFolderCallback) handle->callback) (GTK_FILE_SYSTEM_HANDLE (handle),
 						       GTK_FILE_FOLDER (folder),
 						       error, handle->data);
+  gdk_threads_leave ();
 }
 
 static GtkFileSystemHandle *
@@ -925,8 +937,10 @@
     }
   else
     {
+      gdk_threads_enter ();
       ((GtkFileSystemGetInfoCallback) handle->callback) (GTK_FILE_SYSTEM_HANDLE (handle),
 							 NULL, error, handle->data);
+      gdk_threads_leave ();
     }
 }
 
@@ -968,8 +982,10 @@
       return;
     }
 
+  gdk_threads_enter ();
   ((GtkFileSystemGetInfoCallback) handle->callback) (GTK_FILE_SYSTEM_HANDLE (handle),
 						     info, error, handle->data);
+  gdk_threads_leave ();
 
   if (info)
     gtk_file_info_free (info);
@@ -1028,8 +1044,11 @@
 
   g_file_make_directory (file, handle->cancellable, &error);
 
+  gdk_threads_enter ();
   ((GtkFileSystemCreateFolderCallback) handle->callback) (GTK_FILE_SYSTEM_HANDLE (handle),
 							  idle_data->path, error, handle->data);
+  gdk_threads_leave ();
+
   g_object_unref (file);
   gtk_file_path_free (idle_data->path);
   g_slice_free (CreateFolderData, idle_data);
@@ -1184,9 +1203,12 @@
 
   g_volume_mount_finish (G_VOLUME (source_object), res, &error);
 
+  gdk_threads_enter ();
   ((GtkFileSystemVolumeMountCallback) handle->callback) (GTK_FILE_SYSTEM_HANDLE (handle),
                                                          (GtkFileSystemVolume *) source_object,
                                                          error, handle->data);
+  gdk_threads_leave ();
+
   if (error)
     g_error_free (error);
 }
@@ -1203,9 +1225,12 @@
 
   g_drive_poll_for_media_finish (G_DRIVE (source_object), res, &error);
 
+  gdk_threads_enter ();
   ((GtkFileSystemVolumeMountCallback) handle->callback) (GTK_FILE_SYSTEM_HANDLE (handle),
                                                          (GtkFileSystemVolume *) source_object,
                                                          error, handle->data);
+  gdk_threads_leave ();
+
   if (error)
     g_error_free (error);
 }



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]