diff options
author | Milan Crha <mcrha@redhat.com> | 2012-07-27 15:26:51 +0800 |
---|---|---|
committer | Milan Crha <mcrha@redhat.com> | 2012-07-27 15:26:51 +0800 |
commit | 9e73b4012a0919c2fb5d1a1f270c7a670eacc28d (patch) | |
tree | 3519a8ffb37716273107ff47e485a3562851a64e | |
parent | 9574b77d639cede8aa38133850c9d4f3e6059a44 (diff) | |
download | gsoc2013-evolution-9e73b4012a0919c2fb5d1a1f270c7a670eacc28d.tar gsoc2013-evolution-9e73b4012a0919c2fb5d1a1f270c7a670eacc28d.tar.gz gsoc2013-evolution-9e73b4012a0919c2fb5d1a1f270c7a670eacc28d.tar.bz2 gsoc2013-evolution-9e73b4012a0919c2fb5d1a1f270c7a670eacc28d.tar.lz gsoc2013-evolution-9e73b4012a0919c2fb5d1a1f270c7a670eacc28d.tar.xz gsoc2013-evolution-9e73b4012a0919c2fb5d1a1f270c7a670eacc28d.tar.zst gsoc2013-evolution-9e73b4012a0919c2fb5d1a1f270c7a670eacc28d.zip |
Bug #680682 - Segfault after label attempted deletion
-rw-r--r-- | mail/e-mail-label-list-store.c | 16 |
1 files changed, 6 insertions, 10 deletions
diff --git a/mail/e-mail-label-list-store.c b/mail/e-mail-label-list-store.c index bf642168ff..9491d70dda 100644 --- a/mail/e-mail-label-list-store.c +++ b/mail/e-mail-label-list-store.c @@ -205,17 +205,13 @@ mail_label_list_store_finalize (GObject *object) } static void -labels_model_changed_cb (GtkTreeModel *model, - GtkTreePath *path, - GtkTreeIter *iter, - gpointer user_data) +labels_model_changed_cb (EMailLabelListStore *store) { - EMailLabelListStore *store; GPtrArray *array; GtkTreeIter tmp_iter; gboolean iter_set; - store = E_MAIL_LABEL_LIST_STORE (user_data); + g_return_if_fail (E_IS_MAIL_LABEL_LIST_STORE (store)); /* Make sure we don't enter an infinite synchronizing loop */ g_signal_handlers_block_by_func ( @@ -303,16 +299,16 @@ mail_label_list_store_constructed (GObject *object) store->priv->mail_settings, "labels", store); /* Connect to ListStore change notifications */ - g_signal_connect ( + g_signal_connect_swapped ( store, "row-inserted", G_CALLBACK (labels_model_changed_cb), store); - g_signal_connect ( + g_signal_connect_swapped ( store, "row-changed", G_CALLBACK (labels_model_changed_cb), store); - g_signal_connect ( + g_signal_connect_swapped ( store, "row-deleted", G_CALLBACK (labels_model_changed_cb), store); - g_signal_connect ( + g_signal_connect_swapped ( store, "rows-reordered", G_CALLBACK (labels_model_changed_cb), store); |