summaryrefslogtreecommitdiff
blob: 4d9d59961a680bb32f5fd7b846fda7a8c0f8c5a4 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
From 5e4b28e2fae285fa632ab189707489e0df8d79aa Mon Sep 17 00:00:00 2001
From: Fabiano Fidêncio <fidencio@redhat.com>
Date: Tue, 21 Jan 2014 14:48:54 +0000
Subject: Bug #722698 - Crash creating a new folder

---
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;
--
cgit v0.9.2