eog r4420 - in trunk: . src



Author: friemann
Date: Mon Mar  3 16:15:48 2008
New Revision: 4420
URL: http://svn.gnome.org/viewvc/eog?rev=4420&view=rev

Log:
2008-03-03  Felix Riemann  <friemann svn gnome org>

	* src/eog-window.c: (eog_window_dispose):
	Disconnect collection update callbacks when disposing a window to
	avoid spurious calls when another window watches the same folder which
	results in EOG crashing. Fixes bug #519910.


Modified:
   trunk/ChangeLog
   trunk/src/eog-window.c

Modified: trunk/src/eog-window.c
==============================================================================
--- trunk/src/eog-window.c	(original)
+++ trunk/src/eog-window.c	Mon Mar  3 16:15:48 2008
@@ -205,6 +205,13 @@
 static void update_action_groups_state (EogWindow *window);
 static void open_with_launch_application_cb (GtkAction *action, gpointer callback_data);
 static void eog_window_update_openwith_menu (EogWindow *window, EogImage *image);
+static void eog_window_list_store_image_added (GtkTreeModel *tree_model,
+					       GtkTreePath  *path,
+					       GtkTreeIter  *iter,
+					       gpointer      user_data);
+static void eog_window_list_store_image_removed (GtkTreeModel *tree_model,
+                 				 GtkTreePath  *path,
+						 gpointer      user_data);
 
 static GQuark
 eog_window_error_quark (void)
@@ -4238,6 +4245,12 @@
 	eog_plugin_engine_garbage_collect ();
 
 	if (priv->store != NULL) {
+		g_signal_handlers_disconnect_by_func (priv->store,
+					      eog_window_list_store_image_added,
+					      window);
+		g_signal_handlers_disconnect_by_func (priv->store,
+					    eog_window_list_store_image_removed,
+					    window);
 		g_object_unref (priv->store);
 		priv->store = NULL;
 	}



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