On Oct 3, 2017 17:49, "Ola Nilsson" wrote: On Tue, Oct 3, 2017 at 3:08 PM, Robert Pluim wrote: > Ola Nilsson writes: > >>> does your problem go away? If so, then it would be interesting how the >>> values returned by xg_get_scale differ with gtk_widget_get_scale_factor >>> and xg_get_gdk_scale called. >> >> Made no difference what I can see, except a lot of messages : >> >> (emacs:2302): Gtk-CRITICAL **: gtk_distribute_natural_allocation: >> assertion 'extra_space >= 0' failed > > Through inspection I noticed we're not adjusting the width of the > scrollbar for the scale. Does the following help? > > diff --git a/src/gtkutil.c b/src/gtkutil.c > index 0da7039..60ba627 100644 > --- a/src/gtkutil.c > +++ b/src/gtkutil.c > @@ -3879,6 +3879,7 @@ xg_update_scrollbar_pos (struct frame *f, > top /= scale; > left /= scale; > height /= scale; > + width /= scale; > left -= (scale - 1) * ((width / scale) >> 1); > > /* Clear out old position. */ This works for me: @@ -3883,7 +3883,7 @@ xg_update_scrollbar_pos (struct frame *f, top /= scale; left /= scale; height /= scale; - left -= (scale - 1) * ((width / scale) >> 1); + width /= scale; /* Clear out old position. */ int oldx = -1, oldy = -1, oldw, oldh; I just realized that I never tested with scaling off. /Ola Nilsson