[evolution-patches] 43153: Infinite signal recursion in galview



This blocks a signal cycle that was causing hangs and crashes when
saving new gal views.

Mike
Index: gal/menus/ChangeLog
===================================================================
RCS file: /cvs/gnome/gal/gal/menus/ChangeLog,v
retrieving revision 1.65
diff -u -p -r1.65 ChangeLog
--- gal/menus/ChangeLog	15 May 2003 21:56:40 -0000	1.65
+++ gal/menus/ChangeLog	16 May 2003 21:27:15 -0000
@@ -1,3 +1,9 @@
+2003-05-16  Mike Kestner  <mkestner ximian com>
+
+	* gal-view-collection.c (view_changed): block the signal
+	that got us here until we're done to stop an infinite 
+	recursion.  Fixes 43153.
+
 2003-05-15  Ettore Perazzoli  <ettore ximian com>
 
 	* gal-view-collection.c (d): Disable debugging messages.
Index: gal/menus/gal-view-collection.c
===================================================================
RCS file: /cvs/gnome/gal/gal/menus/gal-view-collection.c,v
retrieving revision 1.27
diff -u -p -r1.27 gal-view-collection.c
--- gal/menus/gal-view-collection.c	15 May 2003 21:56:40 -0000	1.27
+++ gal/menus/gal-view-collection.c	16 May 2003 21:27:15 -0000
@@ -313,7 +313,9 @@ view_changed (GalView *view,
 	item->changed = TRUE;
 	item->ever_changed = TRUE;
 
+	g_signal_handler_block(G_OBJECT(item->view), item->view_changed_id);
 	gal_view_collection_changed(item->collection);
+	g_signal_handler_unblock(G_OBJECT(item->view), item->view_changed_id);
 }
 
 /* Use factory list to load a GalView file. */


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