diff options
-rw-r--r-- | ChangeLog | 6 | ||||
-rw-r--r-- | ChangeLog.ja | 6 | ||||
-rw-r--r-- | src/summaryview.c | 9 |
3 files changed, 21 insertions, 0 deletions
@@ -1,3 +1,9 @@ +2005-05-19 + + * src/summaryview.c: summary_modify_threads(): block selection_changed + callback while modifying threads so that the toolbar doesn't + become insensitive unexpectedly. + 2005-05-18 * src/summaryview.c: set minimum column width. diff --git a/ChangeLog.ja b/ChangeLog.ja index 5de8fe67..ddf7317a 100644 --- a/ChangeLog.ja +++ b/ChangeLog.ja @@ -1,3 +1,9 @@ +2005-05-19 + + * src/summaryview.c: summary_modify_threads(): スレッドの更新中に + ツールバーが予期せずインセンシティブにならないように + selection_changed コールバックをブロック。 + 2005-05-18 * src/summaryview.c: 最小カラム幅を指定。 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); |