diff --git a/gdk/x11/gdksurface-x11.c b/gdk/x11/gdksurface-x11.c index fb3b0bd7df..e21ba9b5b6 100644 --- a/gdk/x11/gdksurface-x11.c +++ b/gdk/x11/gdksurface-x11.c @@ -2793,14 +2793,19 @@ gdk_x11_surface_get_frame_extents (GdkSurface *surface, impl = GDK_X11_SURFACE (surface); /* Refine our fallback answer a bit using local information */ - rect->x = impl->abs_x * impl->surface_scale; - rect->y = impl->abs_y * impl->surface_scale; - rect->width = surface->width * impl->surface_scale; - rect->height = surface->height * impl->surface_scale; + rect->x = impl->abs_x; + rect->y = impl->abs_y; + rect->width = surface->width; + rect->height = surface->height; if (GDK_SURFACE_DESTROYED (surface) || impl->override_redirect) return; + rect->x *= impl->surface_scale; + rect->y *= impl->surface_scale; + rect->width *= impl->surface_scale; + rect->height *= impl->surface_scale; + nvroots = 0; vroots = NULL;