forked from AuroraMiddleware/gtk
[x11] Fix coordinate space of rect in gdk_x11_surface_get_frame_extents when called on popups.
If we take the early return we don't unscale this at the bottom of the function, causing wrong coordinates in HiDPI screens. This bug also affects GTK3 (I noticed this running Firefox tests on X).
This commit is contained in:
parent
381c34783d
commit
5301a74bd3
@ -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;
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user