aboutsummaryrefslogtreecommitdiffstats
path: root/plugins/google-account-setup/google-contacts-source.c
diff options
context:
space:
mode:
Diffstat (limited to 'plugins/google-account-setup/google-contacts-source.c')
-rw-r--r--plugins/google-account-setup/google-contacts-source.c12
1 files changed, 12 insertions, 0 deletions
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);