From: Jan D Date: Sun, 17 May 2015 14:46:34 +0000 (+0200) Subject: Merge branch 'master' into cairo X-Git-Tag: emacs-25.0.90~2008^2~2 X-Git-Url: https://code.delx.au/gnu-emacs/commitdiff_plain/6445ee0fb751ae2c1dfef900d44721b3d952812f Merge branch 'master' into cairo --- 6445ee0fb751ae2c1dfef900d44721b3d952812f diff --cc src/gtkutil.c index d7340ba797,61bc5ee245..5d28b0221a --- a/src/gtkutil.c +++ b/src/gtkutil.c @@@ -3795,16 -3806,18 +3813,20 @@@ xg_update_scrollbar_pos (struct frame * gtk_widget_show_all (wparent); gtk_widget_set_size_request (wscroll, width, height); } +#ifndef USE_CAIRO gtk_widget_queue_draw (wfixed); gdk_window_process_all_updates (); +#endif if (oldx != -1 && oldw > 0 && oldh > 0) - /* Clear under old scroll bar position. This must be done after - the gtk_widget_queue_draw and gdk_window_process_all_updates - above. */ - x_clear_area (f, - oldx, oldy, oldw, oldh); + { + /* Clear under old scroll bar position. This must be done after + the gtk_widget_queue_draw and gdk_window_process_all_updates + above. */ + oldw += (scale - 1) * oldw; + oldx -= (scale - 1) * oldw; + x_clear_area (FRAME_X_DISPLAY (f), FRAME_X_WINDOW (f), + oldx, oldy, oldw, oldh); + } /* 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