Blob Blame History Raw
From 5e4b28e2fae285fa632ab189707489e0df8d79aa Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Fabiano=20Fid=C3=AAncio?= <fidencio@redhat.com>
Date: Tue, 21 Jan 2014 15:48:54 +0100
Subject: [PATCH 5/7] Bug #722698 - Crash creating a new folder

---
 mail/em-folder-tree.c | 12 ++++++++++++
 1 file changed, 12 insertions(+)

diff --git a/mail/em-folder-tree.c b/mail/em-folder-tree.c
index b15041a..cd7f67e 100644
--- a/mail/em-folder-tree.c
+++ b/mail/em-folder-tree.c
@@ -1108,15 +1108,27 @@ folder_tree_dispose (GObject *object)
 {
 	EMFolderTreePrivate *priv;
 	GtkTreeModel *model;
+	GtkTreeSelection *selection;
 
 	priv = EM_FOLDER_TREE_GET_PRIVATE (object);
 	model = gtk_tree_view_get_model (GTK_TREE_VIEW (object));
+	selection = gtk_tree_view_get_selection (GTK_TREE_VIEW (object));
 
 	if (priv->loaded_row_id != 0) {
 		g_signal_handler_disconnect (model, priv->loaded_row_id);
 		priv->loaded_row_id = 0;
 	}
 
+	if (priv->loading_row_id != 0) {
+		g_signal_handler_disconnect (model, priv->loading_row_id);
+		priv->loading_row_id = 0;
+	}
+
+	if (priv->selection_changed_handler_id != 0) {
+		g_signal_handler_disconnect (selection, priv->selection_changed_handler_id);
+		priv->selection_changed_handler_id = 0;
+	}
+
 	if (priv->autoscroll_id != 0) {
 		g_source_remove (priv->autoscroll_id);
 		priv->autoscroll_id = 0;
-- 
1.9.0