commit 36592edeead4c60f8788f900f2a9c199413dd6b6
parent 1faadd36188f6461d301bf5ec410ee8be54f4cab
Author: Colin Leroy <colin@colino.net>
Date: Tue, 28 Jul 2009 18:38:06 +0000
2009-07-28 [colin] 3.7.2cvs13
* src/summaryview.c
Fix bug 1966, '"Collapse all threads" slower than
"Expand all threads"'
Diffstat:
4 files changed, 15 insertions(+), 2 deletions(-)
diff --git a/ChangeLog b/ChangeLog
@@ -1,3 +1,9 @@
+2009-07-28 [colin] 3.7.2cvs13
+
+ * src/summaryview.c
+ Fix bug 1966, '"Collapse all threads" slower than
+ "Expand all threads"'
+
2009-07-28 [colin] 3.7.2cvs12
* src/common/session.c
diff --git a/PATCHSETS b/PATCHSETS
@@ -3837,3 +3837,4 @@
( cvs diff -u -r 1.1.2.23 -r 1.1.2.24 manual/plugins.xml; cvs diff -u -r 1.105.2.154 -r 1.105.2.155 src/prefs_account.c; ) > 3.7.2cvs10.patchset
( cvs diff -u -r 1.1.2.24 -r 1.1.2.25 manual/plugins.xml; ) > 3.7.2cvs11.patchset
( cvs diff -u -r 1.23.2.23 -r 1.23.2.24 src/common/session.c; ) > 3.7.2cvs12.patchset
+( cvs diff -u -r 1.395.2.414 -r 1.395.2.415 src/summaryview.c; ) > 3.7.2cvs13.patchset
diff --git a/configure.ac b/configure.ac
@@ -12,7 +12,7 @@ MINOR_VERSION=7
MICRO_VERSION=2
INTERFACE_AGE=0
BINARY_AGE=0
-EXTRA_VERSION=12
+EXTRA_VERSION=13
EXTRA_RELEASE=
EXTRA_GTK2_VERSION=
diff --git a/src/summaryview.c b/src/summaryview.c
@@ -5374,6 +5374,8 @@ void summary_collapse_threads(SummaryView *summaryview)
GtkCMCTreeNode *node = NULL;
GtkCMCTreeNode *focus_node = GTK_CMCTREE_NODE (g_list_nth (GTK_CMCLIST(ctree)->row_list, GTK_CMCLIST(ctree)->focus_row));
+ g_signal_handlers_block_by_func(G_OBJECT(ctree),
+ G_CALLBACK(summary_tree_collapsed), summaryview);
summary_freeze(summaryview);
GTK_SCTREE(ctree)->sorting = TRUE;
@@ -5384,8 +5386,10 @@ void summary_collapse_threads(SummaryView *summaryview)
gtk_sctree_select(GTK_SCTREE(ctree), focus_node);
node = GTK_CMCTREE_NODE(GTK_CMCLIST(ctree)->row_list);
while (node) {
- if (GTK_CMCTREE_ROW(node)->children)
+ if (GTK_CMCTREE_ROW(node)->children) {
gtk_cmctree_collapse(ctree, node);
+ summary_set_row_marks(summaryview, node);
+ }
node = GTK_CMCTREE_ROW(node)->sibling;
}
@@ -5396,6 +5400,8 @@ void summary_collapse_threads(SummaryView *summaryview)
GTK_SCTREE(ctree)->anchor_row =
gtk_cmctree_node_nth(ctree, GTK_CMCLIST(ctree)->focus_row);
summary_thaw(summaryview);
+ g_signal_handlers_unblock_by_func(G_OBJECT(ctree),
+ G_CALLBACK(summary_tree_collapsed), summaryview);
summaryview->thread_collapsed = TRUE;