[evolution-patches] patch for 2.0.x (calendar)



This patch was forgotten in my 2.0 branch. I think it should be
committed to the branch for next release. Already committed for HEAD
-- 
Rodrigo Moya <rodrigo novell com>
? config.guess
? config.sub
? depcomp
? install-sh
? ltmain.sh
? missing
? ylwrap
? libical/src/libicalss/icalssyacc.output
Index: ChangeLog
===================================================================
RCS file: /cvs/gnome/evolution-data-server/calendar/ChangeLog,v
retrieving revision 1.324.2.10
diff -u -p -r1.324.2.10 ChangeLog
--- ChangeLog	6 Dec 2004 14:28:19 -0000	1.324.2.10
+++ ChangeLog	17 Jan 2005 11:04:41 -0000
@@ -1,3 +1,8 @@
+2005-01-17  Rodrigo Moya <rodrigo novell com>
+
+	* libecal/e-cal-view.c (e_cal_view_set_property): make sure we clean
+	up the old view and listener before setting the new ones.
+
 2004-12-06  Rodrigo Moya <rodrigo novell com>
 
 	Fixes #59904
Index: libecal/e-cal-view.c
===================================================================
RCS file: /cvs/gnome/evolution-data-server/calendar/libecal/e-cal-view.c,v
retrieving revision 1.2
diff -u -p -r1.2 e-cal-view.c
--- libecal/e-cal-view.c	11 Nov 2003 01:34:46 -0000	1.2
+++ libecal/e-cal-view.c	17 Jan 2005 11:04:41 -0000
@@ -141,9 +141,17 @@ e_cal_view_set_property (GObject *object
 	
 	switch (property_id) {
 	case PROP_VIEW:
+		if (priv->view != CORBA_OBJECT_NIL)
+			bonobo_object_release_unref (priv->view, NULL);
+
 		priv->view = bonobo_object_dup_ref (g_value_get_pointer (value), NULL);
 		break;
 	case PROP_LISTENER:
+		if (priv->listener) {
+			g_signal_handlers_disconnect_matched (priv->listener, G_SIGNAL_MATCH_DATA, 0, 0, NULL, NULL, view);
+			bonobo_object_unref (BONOBO_OBJECT (priv->listener));
+		}
+
 		priv->listener = bonobo_object_ref (g_value_get_pointer (value));
 
 		g_signal_connect (G_OBJECT (priv->listener), "objects_added", 


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