From bff58def46d17cda6004bd38adc8e7788a7edc40 Mon Sep 17 00:00:00 2001 From: hiro Date: Thu, 19 May 2005 06:41:30 +0000 Subject: fixed insensitive toolbar problem on execution. git-svn-id: svn://sylpheed.sraoss.jp/sylpheed/trunk@268 ee746299-78ed-0310-b773-934348b2243d --- ChangeLog | 6 ++++++ ChangeLog.ja | 6 ++++++ src/summaryview.c | 9 +++++++++ 3 files changed, 21 insertions(+) diff --git a/ChangeLog b/ChangeLog index c2e307e1..62f5e694 100644 --- a/ChangeLog +++ b/ChangeLog @@ -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); -- cgit v1.2.3