aboutsummaryrefslogtreecommitdiffstats
path: root/addressbook/gui/component/select-names
diff options
context:
space:
mode:
Diffstat (limited to 'addressbook/gui/component/select-names')
-rw-r--r--addressbook/gui/component/select-names/e-select-names-completion.c11
1 files changed, 8 insertions, 3 deletions
diff --git a/addressbook/gui/component/select-names/e-select-names-completion.c b/addressbook/gui/component/select-names/e-select-names-completion.c
index ff1b06ccbf..8e7843f149 100644
--- a/addressbook/gui/component/select-names/e-select-names-completion.c
+++ b/addressbook/gui/component/select-names/e-select-names-completion.c
@@ -743,17 +743,22 @@ e_select_names_completion_destroy (GtkObject *object)
for (l = comp->priv->book_data; l; l = l->next) {
ESelectNamesCompletionBookData *book_data = l->data;
- gtk_object_unref (GTK_OBJECT (book_data->book));
- if (book_data->book_view)
- gtk_object_unref (GTK_OBJECT (book_data->book_view));
+
if (book_data->card_added_tag) {
gtk_signal_disconnect (GTK_OBJECT (book_data->book_view), book_data->card_added_tag);
book_data->card_added_tag = 0;
}
+
if (book_data->seq_complete_tag) {
gtk_signal_disconnect (GTK_OBJECT (book_data->book_view), book_data->seq_complete_tag);
book_data->seq_complete_tag = 0;
}
+
+ gtk_object_unref (GTK_OBJECT (book_data->book));
+
+ if (book_data->book_view)
+ gtk_object_unref (GTK_OBJECT (book_data->book_view));
+
g_free (book_data);
}
g_list_free (comp->priv->book_data);