From e833ae01a04a1f4815b799398ed599453bbdff7b Mon Sep 17 00:00:00 2001 From: hiro Date: Thu, 16 Nov 2006 06:53:57 +0000 Subject: periodically update UI on manual filtering to avoid freeze. git-svn-id: svn://sylpheed.sraoss.jp/sylpheed/trunk@1317 ee746299-78ed-0310-b773-934348b2243d --- src/summaryview.c | 7 +++++++ 1 file changed, 7 insertions(+) (limited to 'src/summaryview.c') 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; -- cgit v1.2.3