diff options
Diffstat (limited to 'my-evolution')
-rw-r--r-- | my-evolution/ChangeLog | 12 | ||||
-rw-r--r-- | my-evolution/e-summary-calendar.c | 11 | ||||
-rw-r--r-- | 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 <ettore@ximian.com> + + * 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 <anna@ximian.com> * 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, "<dl><dt><img src=\"myevo-post-it.png\" align=\"middle\" " @@ -533,8 +532,9 @@ setup_gconf_client (ESummary *summary) gconf_client_add_dir (tasks->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); |