diff options
author | hiro <hiro@ee746299-78ed-0310-b773-934348b2243d> | 2005-04-20 04:39:57 +0000 |
---|---|---|
committer | hiro <hiro@ee746299-78ed-0310-b773-934348b2243d> | 2005-04-20 04:39:57 +0000 |
commit | 35808f6cd559cb3f0df7da2f370e4fb7ab7d2bb8 (patch) | |
tree | 1804f1b6bbcaa1596dce66eeeecdc2cf8c3b9607 /src | |
parent | 7139e36056a91e4d1af2cc8ce24b43e1e7f4bdf8 (diff) |
improved performance of the update of statusbar.
git-svn-id: svn://sylpheed.sraoss.jp/sylpheed/trunk@227 ee746299-78ed-0310-b773-934348b2243d
Diffstat (limited to 'src')
-rw-r--r-- | src/folderview.c | 2 | ||||
-rw-r--r-- | src/gtkutils.c | 9 | ||||
-rw-r--r-- | src/gtkutils.h | 2 | ||||
-rw-r--r-- | src/mainwindow.c | 2 | ||||
-rw-r--r-- | src/setup.c | 2 | ||||
-rw-r--r-- | src/statusbar.c | 2 | ||||
-rw-r--r-- | src/summaryview.c | 2 |
7 files changed, 9 insertions, 12 deletions
diff --git a/src/folderview.c b/src/folderview.c index 9c848218..3277aa68 100644 --- a/src/folderview.c +++ b/src/folderview.c @@ -82,7 +82,7 @@ enum { \ gtk_statusbar_push(GTK_STATUSBAR(mainwin->statusbar), \ mainwin->folderview_cid, str); \ - gtkut_widget_wait_for_draw(mainwin->statusbar); \ + gtkut_widget_draw_now(mainwin->statusbar); \ } #define STATUSBAR_POP(mainwin) \ diff --git a/src/gtkutils.c b/src/gtkutils.c index 3807c9ef..5f845cae 100644 --- a/src/gtkutils.c +++ b/src/gtkutils.c @@ -792,13 +792,10 @@ void gtkut_widget_get_uposition(GtkWidget *widget, gint *px, gint *py) *py = y; } -#warning FIXME_GTK2 -void gtkut_widget_wait_for_draw(GtkWidget *widget) +void gtkut_widget_draw_now(GtkWidget *widget) { - if (!GTK_WIDGET_VISIBLE(widget) || !GTK_WIDGET_MAPPED(widget)) return; - - while (gtk_events_pending()) - gtk_main_iteration(); + if (GTK_WIDGET_VISIBLE(widget) && GTK_WIDGET_DRAWABLE(widget)) + gdk_window_process_updates(widget->window, FALSE); } static void gtkut_clist_bindings_add(GtkWidget *clist) diff --git a/src/gtkutils.h b/src/gtkutils.h index 5aa30081..1ffc25e5 100644 --- a/src/gtkutils.h +++ b/src/gtkutils.h @@ -195,7 +195,7 @@ void gtkut_window_popup (GtkWidget *window); void gtkut_widget_get_uposition (GtkWidget *widget, gint *px, gint *py); -void gtkut_widget_wait_for_draw (GtkWidget *widget); +void gtkut_widget_draw_now (GtkWidget *widget); void gtkut_widget_init (void); #endif /* __GTKUTILS_H__ */ diff --git a/src/mainwindow.c b/src/mainwindow.c index d785a309..f0d291ba 100644 --- a/src/mainwindow.c +++ b/src/mainwindow.c @@ -87,7 +87,7 @@ { \ gtk_statusbar_push(GTK_STATUSBAR(mainwin->statusbar), \ mainwin->mainwin_cid, str); \ - gtkut_widget_wait_for_draw(mainwin->statusbar); \ + gtkut_widget_draw_now(mainwin->statusbar); \ } #define STATUSBAR_POP(mainwin) \ diff --git a/src/setup.c b/src/setup.c index b044d17f..f924901f 100644 --- a/src/setup.c +++ b/src/setup.c @@ -88,7 +88,7 @@ static void scan_tree_func(Folder *folder, FolderItem *item, gpointer data) gtk_statusbar_push(GTK_STATUSBAR(mainwin->statusbar), mainwin->mainwin_cid, str); - gtkut_widget_wait_for_draw(mainwin->statusbar); + gtkut_widget_draw_now(mainwin->statusbar); gtk_statusbar_pop(GTK_STATUSBAR(mainwin->statusbar), mainwin->mainwin_cid); g_free(str); diff --git a/src/statusbar.c b/src/statusbar.c index e1f4ab29..c112b9cd 100644 --- a/src/statusbar.c +++ b/src/statusbar.c @@ -59,7 +59,7 @@ void statusbar_puts(GtkStatusbar *statusbar, const gchar *str) cid = gtk_statusbar_get_context_id(statusbar, "Standard Output"); gtk_statusbar_pop(statusbar, cid); gtk_statusbar_push(statusbar, cid, buf); - gtkut_widget_wait_for_draw(GTK_WIDGET(statusbar)->parent); + gtkut_widget_draw_now(GTK_WIDGET(statusbar)); g_free(buf); } diff --git a/src/summaryview.c b/src/summaryview.c index a3d7ab9a..2a7ff941 100644 --- a/src/summaryview.c +++ b/src/summaryview.c @@ -77,7 +77,7 @@ { \ gtk_statusbar_push(GTK_STATUSBAR(mainwin->statusbar), \ mainwin->summaryview_cid, str); \ - gtkut_widget_wait_for_draw(mainwin->statusbar); \ + gtkut_widget_draw_now(mainwin->statusbar); \ } #define STATUSBAR_POP(mainwin) \ |