aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMatthew Barnes <mbarnes@redhat.com>2013-03-11 22:58:19 +0800
committerMatthew Barnes <mbarnes@redhat.com>2013-03-11 22:58:19 +0800
commitfcd764d0597302d510340bec6fbe3c579692ba3b (patch)
treeabba5f1c7dbcee3701854e8e7763443522fce722
parent1b19a1a35b3ae0786050568d422748b0515252e2 (diff)
downloadgsoc2013-evolution-fcd764d0597302d510340bec6fbe3c579692ba3b.tar.gz
gsoc2013-evolution-fcd764d0597302d510340bec6fbe3c579692ba3b.tar.zst
gsoc2013-evolution-fcd764d0597302d510340bec6fbe3c579692ba3b.zip
Bug 695477 - Crash in EContactListEditor
-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);
}