From 51ef73bbc56e9bd5a2428ff6054e1851ddc622fa Mon Sep 17 00:00:00 2001 From: Bharath Acharya Date: Thu, 6 Nov 2008 08:39:33 +0000 Subject: ** Fix for bug #557726 2008-11-06 Bharath Acharya ** Fix for bug #557726 * google-contacts-source.c: (destroy_ui_data), (plugin_google_contacts): Destroy the widgets created by this group. svn path=/trunk/; revision=36745 --- plugins/google-account-setup/ChangeLog | 7 +++++++ plugins/google-account-setup/google-contacts-source.c | 12 ++++++++++++ 2 files changed, 19 insertions(+) diff --git a/plugins/google-account-setup/ChangeLog b/plugins/google-account-setup/ChangeLog index 84badcf745..d251678eac 100644 --- a/plugins/google-account-setup/ChangeLog +++ b/plugins/google-account-setup/ChangeLog @@ -1,3 +1,10 @@ +2008-11-06 Bharath Acharya + + ** Fix for bug #557726 + + * google-contacts-source.c: (destroy_ui_data), + (plugin_google_contacts): Destroy the widgets created by this group. + 2008-09-24 Philip Withnall ** Fixes bug #553479 diff --git a/plugins/google-account-setup/google-contacts-source.c b/plugins/google-account-setup/google-contacts-source.c index 3220933098..b33ac86856 100644 --- a/plugins/google-account-setup/google-contacts-source.c +++ b/plugins/google-account-setup/google-contacts-source.c @@ -218,6 +218,12 @@ on_interval_combo_changed (GtkComboBox *combo, gpointer user_data) g_free (value_string); } +static void +destroy_ui_data(gpointer data) +{ + gtk_widget_destroy((GtkWidget *)data); +} + GtkWidget * plugin_google_contacts (EPlugin *epl, EConfigHookItemFactoryData *data) @@ -254,6 +260,9 @@ plugin_google_contacts (EPlugin *epl, base_uri = e_source_group_peek_base_uri (group); + g_object_set_data_full (G_OBJECT (epl), "widget", NULL, + (GDestroyNotify)gtk_widget_destroy); + if (strcmp (base_uri, "google://")) { return NULL; } @@ -337,6 +346,9 @@ plugin_google_contacts (EPlugin *epl, g_object_set_data (G_OBJECT (interval_sb), "interval-combo", interval_combo); g_object_set_data (G_OBJECT (interval_combo), "interval-sb", interval_sb); + + g_object_set_data_full(G_OBJECT(epl), "widget", vbox2, + destroy_ui_data); g_signal_connect (G_OBJECT (username_entry), "changed", G_CALLBACK (on_username_entry_changed), source); -- cgit v1.2.3