summaryrefslogtreecommitdiff
path: root/src/gtkutil.c
diff options
context:
space:
mode:
authorJan Djärv <jan.h.d@swipnet.se>2005-03-10 18:07:37 +0000
committerJan Djärv <jan.h.d@swipnet.se>2005-03-10 18:07:37 +0000
commit817d354baa9fcff63f7fcb82cb35b3233b468b64 (patch)
tree45cf3fede3449c32eddad2ed57311cc0056a834b /src/gtkutil.c
parent4a5d28f132408d98130e2665efe10494eff9ea5e (diff)
downloademacs-817d354baa9fcff63f7fcb82cb35b3233b468b64.tar.gz
emacs-817d354baa9fcff63f7fcb82cb35b3233b468b64.tar.bz2
emacs-817d354baa9fcff63f7fcb82cb35b3233b468b64.zip
* gtkutil.c (xg_update_scrollbar_pos): Call x_sync so that the
GTK main loop is entered in xterm.c, thus doing the redraw.
Diffstat (limited to 'src/gtkutil.c')
-rw-r--r--src/gtkutil.c9
1 files changed, 7 insertions, 2 deletions
diff --git a/src/gtkutil.c b/src/gtkutil.c
index 6dcba3036c0..8bd83e40043 100644
--- a/src/gtkutil.c
+++ b/src/gtkutil.c
@@ -2999,9 +2999,14 @@ xg_update_scrollbar_pos (f, scrollbar_id, top, left, width, height)
GtkWidget *wparent = gtk_widget_get_parent (wscroll);
/* Move and resize to new values. */
- gtk_widget_set_size_request (wscroll, width, height);
gtk_fixed_move (GTK_FIXED (wfixed), wparent, left, top);
-
+ gtk_widget_set_size_request (wscroll, width, height);
+ 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);
}