aboutsummaryrefslogtreecommitdiffstats
path: root/shell/e-shell-config-autocompletion.c
diff options
context:
space:
mode:
Diffstat (limited to 'shell/e-shell-config-autocompletion.c')
-rw-r--r--shell/e-shell-config-autocompletion.c10
1 files changed, 6 insertions, 4 deletions
diff --git a/shell/e-shell-config-autocompletion.c b/shell/e-shell-config-autocompletion.c
index 37ea318681..b3b72bb954 100644
--- a/shell/e-shell-config-autocompletion.c
+++ b/shell/e-shell-config-autocompletion.c
@@ -56,9 +56,11 @@ folder_list_changed_callback (EFolderList *efl,
}
static void
-config_control_destroy_callback (EvolutionConfigControl *config_control,
- EvolutionAutocompletionConfig *ac)
+config_control_destroy_notify (void *data,
+ GObject *where_the_config_control_was)
{
+ EvolutionAutocompletionConfig *ac = (EvolutionAutocompletionConfig *) data;
+
g_object_unref (ac->shell_client);
g_object_unref (ac->config_listener);
@@ -114,8 +116,8 @@ e_shell_config_autocompletion_create_widget (EShell *shell, EvolutionConfigContr
G_CALLBACK (folder_list_changed_callback), ac);
g_signal_connect (ac->config_control, "apply",
G_CALLBACK (config_control_apply_callback), ac);
- g_signal_connect (ac->config_control, "destroy",
- G_CALLBACK (config_control_destroy_callback), ac);
+
+ g_object_weak_ref (G_OBJECT (ac->config_control), config_control_destroy_notify, ac);
CORBA_exception_free (&ev);