changeset 60553:5ace6337c8fa

* gtkutil.c (xg_update_scrollbar_pos): Call x_sync so that the GTK main loop is entered in xterm.c, thus doing the redraw.
author Jan Djärv <jan.h.d@swipnet.se>
date Thu, 10 Mar 2005 18:07:37 +0000
parents 86d5f68886d5
children d22b2f00dcfe
files src/ChangeLog src/gtkutil.c
diffstat 2 files changed, 12 insertions(+), 2 deletions(-) [+]
line wrap: on
line diff
--- a/src/ChangeLog	Thu Mar 10 17:23:04 2005 +0000
+++ b/src/ChangeLog	Thu Mar 10 18:07:37 2005 +0000
@@ -1,3 +1,8 @@
+2005-03-10  Jan Dj,Ad(Brv  <jan.h.d@swipnet.se>
+
+	* gtkutil.c (xg_update_scrollbar_pos): Call x_sync so that the
+	GTK main loop is entered in xterm.c, thus doing the redraw.
+
 2005-03-10  Kim F. Storm  <storm@cua.dk>
 
 	* xdisp.c (pos_visible_p): Fix X value in last line of buffer.
--- a/src/gtkutil.c	Thu Mar 10 17:23:04 2005 +0000
+++ b/src/gtkutil.c	Thu Mar 10 18:07:37 2005 +0000
@@ -2999,9 +2999,14 @@
       GtkWidget *wparent = gtk_widget_get_parent (wscroll);
 
       /* Move and resize to new values.  */
+      gtk_fixed_move (GTK_FIXED (wfixed), wparent, left, top);
       gtk_widget_set_size_request (wscroll, width, height);
-      gtk_fixed_move (GTK_FIXED (wfixed), wparent, left, top);
-
+      gtk_widget_queue_draw (wparent);
+      gdk_window_process_all_updates ();
+      /* GTK does not redraw until the main loop is entered again, but
+         if there are no X events pending we will not enter it.  So we sync
+         here to get some events.  */
+      x_sync (f);
       SET_FRAME_GARBAGED (f);
       cancel_mouse_face (f);
     }