aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorhiro <hiro@ee746299-78ed-0310-b773-934348b2243d>2009-12-04 02:30:05 +0000
committerhiro <hiro@ee746299-78ed-0310-b773-934348b2243d>2009-12-04 02:30:05 +0000
commit14a73bcd6d4642c9ab03239a32a17bb47ef451ba (patch)
tree6d44859a7604f76884c0a940e2066c7206342999
parent6541ef47ae8d14888161157c219ff36b90872274 (diff)
disable sort while filtering to prohibit a warning.
git-svn-id: svn://sylpheed.sraoss.jp/sylpheed/trunk@2363 ee746299-78ed-0310-b773-934348b2243d
-rw-r--r--ChangeLog6
-rw-r--r--src/summaryview.c10
2 files changed, 16 insertions, 0 deletions
diff --git a/ChangeLog b/ChangeLog
index 00a9b3a6..2c000683 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,9 @@
+2009-12-04
+
+ * src/summaryview.c: summary_filter_real(): disable sort while
+ filtering to prohibit 'The model has been modified from within
+ gtk_tree_selection_selected_foreach.' warning.
+
2009-11-26
* version 3.0.0beta3
diff --git a/src/summaryview.c b/src/summaryview.c
index c7be1437..6ad83677 100644
--- a/src/summaryview.c
+++ b/src/summaryview.c
@@ -4591,6 +4591,8 @@ static void summary_filter_real(SummaryView *summaryview,
gboolean selected_only)
{
GList *rows;
+ FolderSortKey sort_key;
+ FolderSortType sort_type;
if (!summaryview->folder_item) return;
@@ -4604,6 +4606,11 @@ static void summary_filter_real(SummaryView *summaryview,
main_window_cursor_wait(summaryview->mainwin);
GTK_EVENTS_FLUSH();
+ sort_key = summaryview->folder_item->sort_key;
+ sort_type = summaryview->folder_item->sort_type;
+ if (sort_key != SORT_BY_NONE)
+ summary_sort(summaryview, SORT_BY_NONE, SORT_ASCENDING);
+
summaryview->filtered = 0;
summaryview->flt_count = 0;
@@ -4621,6 +4628,9 @@ static void summary_filter_real(SummaryView *summaryview,
func, summaryview);
}
+ if (sort_key != SORT_BY_NONE)
+ summary_sort(summaryview, sort_key, sort_type);
+
summary_unlock(summaryview);
if (prefs_common.immediate_exec)