aboutsummaryrefslogtreecommitdiff
path: root/src/summaryview.c
diff options
context:
space:
mode:
authorhiro <hiro@ee746299-78ed-0310-b773-934348b2243d>2005-05-19 06:41:30 +0000
committerhiro <hiro@ee746299-78ed-0310-b773-934348b2243d>2005-05-19 06:41:30 +0000
commitbff58def46d17cda6004bd38adc8e7788a7edc40 (patch)
tree1885375870e7bd0625a922f530903f4696f1c226 /src/summaryview.c
parent5810598e9d252fa89910ddd006d006a8e7571544 (diff)
fixed insensitive toolbar problem on execution.
git-svn-id: svn://sylpheed.sraoss.jp/sylpheed/trunk@268 ee746299-78ed-0310-b773-934348b2243d
Diffstat (limited to 'src/summaryview.c')
-rw-r--r--src/summaryview.c9
1 files changed, 9 insertions, 0 deletions
diff --git a/src/summaryview.c b/src/summaryview.c
index 9a56ef1f..d322abec 100644
--- a/src/summaryview.c
+++ b/src/summaryview.c
@@ -2906,6 +2906,7 @@ static void summary_remove_invalid_messages(SummaryView *summaryview)
GtkTreePath *path;
gboolean valid;
+ /* get currently displayed message */
if (summaryview->displayed) {
GtkTreeIter displayed;
@@ -2930,6 +2931,7 @@ static void summary_remove_invalid_messages(SummaryView *summaryview)
if (summaryview->folder_item->threaded)
summary_modify_threads(summaryview);
+ /* update selection */
valid = gtkut_tree_row_reference_get_iter(model, summaryview->selected,
&iter);
if (valid) {
@@ -3441,6 +3443,9 @@ static void summary_modify_threads(SummaryView *summaryview)
debug_print("Modifying threads for execution...");
+ g_signal_handlers_block_by_func(summaryview->selection,
+ summary_selection_changed, summaryview);
+
has_selection = gtkut_tree_row_reference_get_iter
(model, summaryview->selected, &selected);
if (has_selection) {
@@ -3459,6 +3464,10 @@ static void summary_modify_threads(SummaryView *summaryview)
summary_modify_node(summaryview, &iter, selected_p);
}
+ g_signal_handlers_unblock_by_func(summaryview->selection,
+ summary_selection_changed,
+ summaryview);
+
if (has_selection &&
!gtk_tree_row_reference_valid(summaryview->selected))
summary_select_row(summaryview, &selected, FALSE, FALSE);