aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorhiro <hiro@ee746299-78ed-0310-b773-934348b2243d>2006-11-16 06:53:57 +0000
committerhiro <hiro@ee746299-78ed-0310-b773-934348b2243d>2006-11-16 06:53:57 +0000
commite833ae01a04a1f4815b799398ed599453bbdff7b (patch)
treee0cff62dc1f2a75e11418bf9e0b2ec95b51dedfd /src
parent5172cd5e5da898528072393c07aed1375192c2d4 (diff)
periodically update UI on manual filtering to avoid freeze.
git-svn-id: svn://sylpheed.sraoss.jp/sylpheed/trunk@1317 ee746299-78ed-0310-b773-934348b2243d
Diffstat (limited to 'src')
-rw-r--r--src/summaryview.c7
1 files changed, 7 insertions, 0 deletions
diff --git a/src/summaryview.c b/src/summaryview.c
index c4f382cf..2ec78bb9 100644
--- a/src/summaryview.c
+++ b/src/summaryview.c
@@ -4386,6 +4386,9 @@ static gboolean summary_filter_func(GtkTreeModel *model, GtkTreePath *path,
summaryview->flt_count, summaryview->flt_total);
STATUSBAR_POP(summaryview->mainwin);
STATUSBAR_PUSH(summaryview->mainwin, msg);
+ if ((summaryview->flt_count % 500) == 0) {
+ GTK_EVENTS_FLUSH();
+ }
}
fltinfo = filter_info_new();
@@ -4444,6 +4447,9 @@ static gboolean summary_filter_junk_func(GtkTreeModel *model, GtkTreePath *path,
summaryview->flt_count, summaryview->flt_total);
STATUSBAR_POP(summaryview->mainwin);
STATUSBAR_PUSH(summaryview->mainwin, msg);
+ if ((summaryview->flt_count % 500) == 0) {
+ GTK_EVENTS_FLUSH();
+ }
}
fltinfo = filter_info_new();
@@ -4494,6 +4500,7 @@ static void summary_filter_real(SummaryView *summaryview,
debug_print(_("filtering..."));
STATUSBAR_PUSH(summaryview->mainwin, _("Filtering..."));
main_window_cursor_wait(summaryview->mainwin);
+ GTK_EVENTS_FLUSH();
summaryview->filtered = 0;
summaryview->flt_count = 0;