[maemo-commits] [maemo-commits] r15438 - in projects/haf/trunk/gnome-vfs-filechooser-backend: . debian src

From: subversion at stage.maemo.org subversion at stage.maemo.org
Date: Wed Apr 16 09:51:29 EEST 2008
Author: richard
Date: 2008-04-16 09:51:26 +0300 (Wed, 16 Apr 2008)
New Revision: 15438

Modified:
   projects/haf/trunk/gnome-vfs-filechooser-backend/ChangeLog
   projects/haf/trunk/gnome-vfs-filechooser-backend/configure.ac
   projects/haf/trunk/gnome-vfs-filechooser-backend/debian/changelog
   projects/haf/trunk/gnome-vfs-filechooser-backend/src/gtkfilesystemgnomevfs.c
Log:
Prepare for release.

Modified: projects/haf/trunk/gnome-vfs-filechooser-backend/ChangeLog
===================================================================
--- projects/haf/trunk/gnome-vfs-filechooser-backend/ChangeLog	2008-04-16 06:22:34 UTC (rev 15437)
+++ projects/haf/trunk/gnome-vfs-filechooser-backend/ChangeLog	2008-04-16 06:51:26 UTC (rev 15438)
@@ -1,3 +1,17 @@
+2008-04-16  Richard Hult  <richard at imendio.com>
+
+	* Release 1.9.5.
+
+2008-04-16  Richard Hult  <richard at imendio.com>
+
+	* configure.ac: Bump version.
+
+	* src/gtkfilesystemgnomevfs.c:
+	(gtk_file_system_gnome_vfs_finalize): Don't modify the hash table
+	while iterating it.
+	(gtk_file_folder_gnome_vfs_dispose): Check if we have a folders
+	hashtable before accessing it. Chain up.
+
 2007-10-31  Martyn Russell  <martyn at imendio.com>
 
 	* Release 1.9.4.

Modified: projects/haf/trunk/gnome-vfs-filechooser-backend/configure.ac
===================================================================
--- projects/haf/trunk/gnome-vfs-filechooser-backend/configure.ac	2008-04-16 06:22:34 UTC (rev 15437)
+++ projects/haf/trunk/gnome-vfs-filechooser-backend/configure.ac	2008-04-16 06:51:26 UTC (rev 15438)
@@ -1,7 +1,7 @@
 dnl Process this file with autoconf to produce a configure script.
 AC_PREREQ(2.52)
  
-AC_INIT(gnome-vfs-filechooser-backend, 1.9.4)
+AC_INIT(gnome-vfs-filechooser-backend, 1.9.5)
 AC_CONFIG_SRCDIR(src/gtkfilesystemgnomevfs.c)
 AM_INIT_AUTOMAKE(AC_PACKAGE_NAME, AC_PACKAGE_VERSION)
 

Modified: projects/haf/trunk/gnome-vfs-filechooser-backend/debian/changelog
===================================================================
--- projects/haf/trunk/gnome-vfs-filechooser-backend/debian/changelog	2008-04-16 06:22:34 UTC (rev 15437)
+++ projects/haf/trunk/gnome-vfs-filechooser-backend/debian/changelog	2008-04-16 06:51:26 UTC (rev 15438)
@@ -1,3 +1,9 @@
+gnome-vfs-filechooser-backend (1.9.5-1) unstable; urgency=low
+
+  * Fixes: NB#84064, Bugs in the gtkfilechooser backend
+
+ -- Richard Hult <richard at imendio.com>  Wed, 16 Apr 2008 08:44:17 +0200
+
 gnome-vfs-filechooser-backend (1.9.4-1) unstable; urgency=low
 
   * Fixes: NB#70034, Recognized files are not opened if extensions are...

Modified: projects/haf/trunk/gnome-vfs-filechooser-backend/src/gtkfilesystemgnomevfs.c
===================================================================
--- projects/haf/trunk/gnome-vfs-filechooser-backend/src/gtkfilesystemgnomevfs.c	2008-04-16 06:22:34 UTC (rev 15437)
+++ projects/haf/trunk/gnome-vfs-filechooser-backend/src/gtkfilesystemgnomevfs.c	2008-04-16 06:51:26 UTC (rev 15438)
@@ -559,6 +559,16 @@
 }
 
 static void
+add_folder_to_list (gpointer key, 
+                    gpointer value,
+                    gpointer data)
+{
+  GList **list = data;
+
+  *list = g_list_prepend (*list, value);
+}
+
+static void
 check_handle_fn (gpointer key, gpointer value, gpointer data)
 {
   GtkFileSystemHandleGnomeVFS *handle;
@@ -632,9 +642,17 @@
 
   g_free (system_vfs->desktop_uri);
   g_free (system_vfs->home_uri);
-  g_hash_table_foreach (system_vfs->folders, unref_folder, NULL);
-  g_hash_table_destroy (system_vfs->folders);
 
+  {
+    /* Avoid changing the hash table while iterating it. */
+    GList *folder_list = NULL;
+    g_hash_table_foreach (system_vfs->folders, add_folder_to_list, &folder_list);
+    g_list_foreach (folder_list, (GFunc) g_object_unref, NULL);
+    g_list_free (folder_list);
+    g_hash_table_destroy (system_vfs->folders);
+    system_vfs->folders = NULL;
+  }
+ 
   g_signal_handler_disconnect (system_vfs->volume_monitor, system_vfs->volume_mounted_id);
   g_signal_handler_disconnect (system_vfs->volume_monitor, system_vfs->volume_unmounted_id);
   g_signal_handler_disconnect (system_vfs->volume_monitor, system_vfs->drive_connected_id);
@@ -2813,8 +2831,8 @@
   gboolean was_destroyed;
 
   was_destroyed = folder_vfs->children == NULL;
-  
-  if (folder_vfs->uri)
+
+  if (folder_vfs->uri && system_vfs->folders)
     g_hash_table_remove (system_vfs->folders, folder_vfs->uri);
   folder_vfs->uri = NULL;
   
@@ -2839,6 +2857,8 @@
       g_object_ref (object);
       g_idle_add ((GSourceFunc)unref_at_idle, object);
     }
+
+  folder_parent_class->dispose (object);
 }
 
 


More information about the maemo-commits mailing list