aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorRodrigo Moya <rodrigo@novell.com>2004-08-10 22:14:43 +0800
committerRodrigo Moya <rodrigo@src.gnome.org>2004-08-10 22:14:43 +0800
commit60939de9ba741af0dc99c141fbf951dba8061f60 (patch)
treeb6fa4cc838583d27b25f81eab64178271c291cdb
parent91841270f1f436fa751a89fcd131bcb9afb9aa43 (diff)
downloadgsoc2013-evolution-60939de9ba741af0dc99c141fbf951dba8061f60.tar.gz
gsoc2013-evolution-60939de9ba741af0dc99c141fbf951dba8061f60.tar.zst
gsoc2013-evolution-60939de9ba741af0dc99c141fbf951dba8061f60.zip
disconnect from signals also when using only the system tray. Fixes a
2004-08-10 Rodrigo Moya <rodrigo@novell.com> * gui/alarm-notify/alarm-queue.c (tray_icon_destroyed_cb): disconnect from signals also when using only the system tray. Fixes a crash when removing an event that had an alarm popup recently. svn path=/trunk/; revision=26862
-rw-r--r--calendar/ChangeLog6
-rw-r--r--calendar/gui/alarm-notify/alarm-queue.c3
2 files changed, 9 insertions, 0 deletions
diff --git a/calendar/ChangeLog b/calendar/ChangeLog
index 2c7594b6df..48820d50e9 100644
--- a/calendar/ChangeLog
+++ b/calendar/ChangeLog
@@ -1,3 +1,9 @@
+2004-08-10 Rodrigo Moya <rodrigo@novell.com>
+
+ * gui/alarm-notify/alarm-queue.c (tray_icon_destroyed_cb): disconnect
+ from signals also when using only the system tray. Fixes a crash when
+ removing an event that had an alarm popup recently.
+
2004-08-09 Rodrigo Moya <rodrigo@novell.com>
* gui/e-calendar-view.c: re-added 'Make this occurrence movable' menu
diff --git a/calendar/gui/alarm-notify/alarm-queue.c b/calendar/gui/alarm-notify/alarm-queue.c
index 74c16746c4..08d3033dcb 100644
--- a/calendar/gui/alarm-notify/alarm-queue.c
+++ b/calendar/gui/alarm-notify/alarm-queue.c
@@ -768,6 +768,9 @@ tray_icon_destroyed_cb (GtkWidget *tray, gpointer user_data)
{
TrayIconData *tray_data = user_data;
+ g_signal_handlers_disconnect_matched (tray_data->query, G_SIGNAL_MATCH_FUNC,
+ 0, 0, NULL, on_dialog_objs_removed_cb, NULL);
+
if (tray_data->cqa != NULL)
remove_queued_alarm (tray_data->cqa, tray_data->alarm_id, TRUE, TRUE);