aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorhiro <hiro@ee746299-78ed-0310-b773-934348b2243d>2005-04-20 04:39:57 +0000
committerhiro <hiro@ee746299-78ed-0310-b773-934348b2243d>2005-04-20 04:39:57 +0000
commit35808f6cd559cb3f0df7da2f370e4fb7ab7d2bb8 (patch)
tree1804f1b6bbcaa1596dce66eeeecdc2cf8c3b9607 /src
parent7139e36056a91e4d1af2cc8ce24b43e1e7f4bdf8 (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.c2
-rw-r--r--src/gtkutils.c9
-rw-r--r--src/gtkutils.h2
-rw-r--r--src/mainwindow.c2
-rw-r--r--src/setup.c2
-rw-r--r--src/statusbar.c2
-rw-r--r--src/summaryview.c2
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) \