From 903a374abb0003caeca472d4902756680b74fd8c Mon Sep 17 00:00:00 2001 From: Ettore Perazzoli Date: Tue, 27 May 2003 19:39:44 +0000 Subject: New member gconf_value_changed_handler_id in ESummaryTasks. * e-summary-tasks.c: New member gconf_value_changed_handler_id in ESummaryTasks. (setup_gconf_client): Set it to the ID of the signal connection. * e-summary-calendar.c: New member gconf_value_changed_handler_id in ESummaryCalendar. (setup_gconf_client): Set it to the ID of the signal connection. * e-summary-tasks.c (generate_html): Remove unused variable. svn path=/trunk/; revision=21336 --- my-evolution/ChangeLog | 12 ++++++++++++ my-evolution/e-summary-calendar.c | 11 ++++++++--- my-evolution/e-summary-tasks.c | 11 +++++++---- 3 files changed, 27 insertions(+), 7 deletions(-) diff --git a/my-evolution/ChangeLog b/my-evolution/ChangeLog index 0338cde89f..d5f831e97f 100644 --- a/my-evolution/ChangeLog +++ b/my-evolution/ChangeLog @@ -1,3 +1,15 @@ +2003-05-27 Ettore Perazzoli + + * e-summary-tasks.c: New member gconf_value_changed_handler_id in + ESummaryTasks. + (setup_gconf_client): Set it to the ID of the signal connection. + + * e-summary-calendar.c: New member gconf_value_changed_handler_id + in ESummaryCalendar. + (setup_gconf_client): Set it to the ID of the signal connection. + + * e-summary-tasks.c (generate_html): Remove unused variable. + 2003-05-19 Anna Marie Dirks * e-summary-preferences.c: This patch HIG-ifies the "New News Feed" diff --git a/my-evolution/e-summary-calendar.c b/my-evolution/e-summary-calendar.c index e5d3765424..de7c1d7bc6 100644 --- a/my-evolution/e-summary-calendar.c +++ b/my-evolution/e-summary-calendar.c @@ -51,6 +51,7 @@ struct _ESummaryCalendar { char *default_uri; GConfClient *gconf_client; + int gconf_value_changed_handler_id; int cal_open_reload_timeout_id; int reload_count; @@ -570,8 +571,9 @@ setup_gconf_client (ESummary *summary) calendar->gconf_client = gconf_client_get_default (); - g_signal_connect (calendar->gconf_client, "value_changed", - G_CALLBACK (gconf_client_value_changed_cb), summary); + calendar->gconf_value_changed_handler_id + = g_signal_connect (calendar->gconf_client, "value_changed", + G_CALLBACK (gconf_client_value_changed_cb), summary); gconf_client_add_dir (calendar->gconf_client, "/apps/evolution/calendar", FALSE, NULL); gconf_client_add_dir (calendar->gconf_client, "/apps/evolution/shell/default_folders", FALSE, NULL); @@ -619,7 +621,10 @@ e_summary_calendar_free (ESummary *summary) g_object_unref (calendar->client); g_free (calendar->html); g_free (calendar->default_uri); - + + if (calendar->gconf_value_changed_handler_id != 0) + g_signal_handler_disconnect (calendar->gconf_client, + calendar->gconf_value_changed_handler_id); g_object_unref (calendar->gconf_client); g_free (calendar); diff --git a/my-evolution/e-summary-tasks.c b/my-evolution/e-summary-tasks.c index 578c2bf737..87697349d5 100644 --- a/my-evolution/e-summary-tasks.c +++ b/my-evolution/e-summary-tasks.c @@ -55,6 +55,7 @@ struct _ESummaryTasks { char *default_uri; GConfClient *gconf_client; + int gconf_value_changed_handler_id; int cal_open_reload_timeout_id; int reload_count; @@ -330,8 +331,6 @@ generate_html (gpointer data) NULL); return FALSE; } else { - char *s; - uids = cal_list_sort (uids, sort_uids, tasks->client); string = g_string_new (NULL); g_string_sprintf (string, "
gconf_client, "/apps/evolution/calendar/tasks/colors", FALSE, NULL); gconf_client_add_dir (tasks->gconf_client, "/apps/evolution/shell/default_folders", FALSE, NULL); - g_signal_connect (tasks->gconf_client, "value_changed", - G_CALLBACK (gconf_client_value_changed_cb), summary); + tasks->gconf_value_changed_handler_id + = g_signal_connect (tasks->gconf_client, "value_changed", + G_CALLBACK (gconf_client_value_changed_cb), summary); } void @@ -580,6 +580,9 @@ e_summary_tasks_free (ESummary *summary) g_free (tasks->overdue_colour); g_free (tasks->default_uri); + if (tasks->gconf_value_changed_handler_id != 0) + g_signal_handler_disconnect (tasks->gconf_client, + tasks->gconf_value_changed_handler_id); g_object_unref (tasks->gconf_client); g_free (tasks); -- cgit