aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMilan Crha <mcrha@redhat.com>2012-07-27 15:26:51 +0800
committerMilan Crha <mcrha@redhat.com>2012-07-27 15:26:51 +0800
commit9e73b4012a0919c2fb5d1a1f270c7a670eacc28d (patch)
tree3519a8ffb37716273107ff47e485a3562851a64e
parent9574b77d639cede8aa38133850c9d4f3e6059a44 (diff)
downloadgsoc2013-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.c16
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);