aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--addressbook/gui/contact-list-editor/e-contact-list-editor.c11
1 files changed, 9 insertions, 2 deletions
diff --git a/addressbook/gui/contact-list-editor/e-contact-list-editor.c b/addressbook/gui/contact-list-editor/e-contact-list-editor.c
index d7437d3cfb..f58f433a38 100644
--- a/addressbook/gui/contact-list-editor/e-contact-list-editor.c
+++ b/addressbook/gui/contact-list-editor/e-contact-list-editor.c
@@ -1000,12 +1000,19 @@ contact_list_editor_combo_box_changed_cb (GtkWidget *widget)
client = E_CLIENT (editor->priv->book_client);
client_source = e_client_get_source (client);
- if (!e_source_equal (client_source, active_source))
+ if (!e_source_equal (client_source, active_source)) {
+ ConnectClosure *connect_closure;
+
+ connect_closure = g_slice_new0 (ConnectClosure);
+ connect_closure->editor = g_object_ref (editor);
+ connect_closure->source = g_object_ref (active_source);
+
e_client_combo_box_get_client (
E_CLIENT_COMBO_BOX (widget),
active_source, NULL,
contact_list_editor_get_client_cb,
- g_object_ref (editor));
+ connect_closure);
+ }
g_object_unref (active_source);
}