evolution r37335 - in trunk/calendar: . gui



Author: mcrha
Date: Wed Feb 25 11:44:54 2009
New Revision: 37335
URL: http://svn.gnome.org/viewvc/evolution?rev=37335&view=rev

Log:
2009-02-25  Milan Crha  <mcrha redhat com>

	** Fix for bug #529037

	* gui/gnome-cal.c: (gnome_calendar_destroy):
	Disconnect signals on ESource-s too, not only on ECal-s.



Modified:
   trunk/calendar/ChangeLog
   trunk/calendar/gui/gnome-cal.c

Modified: trunk/calendar/gui/gnome-cal.c
==============================================================================
--- trunk/calendar/gui/gnome-cal.c	(original)
+++ trunk/calendar/gui/gnome-cal.c	Wed Feb 25 11:44:54 2009
@@ -1923,8 +1923,13 @@
 		/* Clean up the clients */
 		for (i = 0; i < E_CAL_SOURCE_TYPE_LAST; i++) {
 			for (l = priv->clients_list[i]; l != NULL; l = l->next) {
+				ESource *source = e_cal_get_source (l->data);
+
 				g_signal_handlers_disconnect_matched (l->data, G_SIGNAL_MATCH_DATA,
 								      0, 0, NULL, NULL, gcal);
+
+				if (source)
+					g_signal_handlers_disconnect_matched (source, G_SIGNAL_MATCH_DATA, 0, 0, NULL, NULL, gcal);
 			}
 
 			g_hash_table_destroy (priv->clients[i]);
@@ -1934,9 +1939,15 @@
 			priv->clients_list[i] = NULL;
 
 			if (priv->default_client[i]) {
+				ESource *source = e_cal_get_source (priv->default_client[i]);
+
 				g_signal_handlers_disconnect_matched (priv->default_client[i],
 								      G_SIGNAL_MATCH_DATA,
 								      0, 0, NULL, NULL, gcal);
+
+				if (source)
+					g_signal_handlers_disconnect_matched (source, G_SIGNAL_MATCH_DATA, 0, 0, NULL, NULL, gcal);
+
 				g_object_unref (priv->default_client[i]);
 			}
 			priv->default_client[i] = NULL;



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