aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ChangeLog13
-rw-r--r--ChangeLog.ja13
-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
9 files changed, 35 insertions, 12 deletions
diff --git a/ChangeLog b/ChangeLog
index 74a7654d..fc73218f 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,18 @@
2005-04-20
+ * src/gtkutils.[ch]: gtkut_widget_draw_now(): use
+ gdk_window_process_updates() to force update of widgets.
+ Removed gtkut_widget_wait_for_draw() which had a big overhead
+ because of waiting for all events processed.
+ * src/statusbar.c
+ src/summaryview.c
+ src/setup.c
+ src/folderview.c
+ src/mainwindow.c: use gtkut_widget_draw_now(). Improved performance
+ of the update of statusbar.
+
+2005-04-20
+
* src/textview.c: textview_smooth_scroll_do(): redraw it after scroll
is done (fixed incorrect display when a part of the view is hidden).
diff --git a/ChangeLog.ja b/ChangeLog.ja
index 832904e9..a4edd331 100644
--- a/ChangeLog.ja
+++ b/ChangeLog.ja
@@ -1,5 +1,18 @@
2005-04-20
+ * src/gtkutils.[ch]: gtkut_widget_draw_now(): ウィジェットの強制更新
+ に gdk_window_process_updates() を使用。
+ 全てのイベントが処理されるのを待っていたために大きなオーバーヘッド
+ を生じていた gtkut_widget_wait_for_draw() を削除。
+ * src/statusbar.c
+ src/summaryview.c
+ src/setup.c
+ src/folderview.c
+ src/mainwindow.c: gtkut_widget_draw_now() を使用。ステータスバー
+ の更新の処理速度を向上。
+
+2005-04-20
+
* src/textview.c: textview_smooth_scroll_do(): スクロール完了後に
再描画するようにした(ビューの一部が隠れている場合に正しく描画
されないのを修正)。
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) \