mirror of
https://gitlab.gnome.org/GNOME/gtk.git
synced 2024-12-27 14:10:30 +00:00
surface: Fix the fallback move-to-rect implementation
On X11, the final and flipped rects were reporting global coordinates. This was showing up as misplaced popover beaks.
This commit is contained in:
parent
78c94f9357
commit
c7f9f8f63d
@ -271,6 +271,7 @@ gdk_surface_real_move_to_rect (GdkSurface *surface,
|
||||
GdkRectangle final_rect;
|
||||
gboolean flipped_x;
|
||||
gboolean flipped_y;
|
||||
int x, y;
|
||||
|
||||
/* This implementation only works for backends that
|
||||
* can provide root coordinates via get_root_coords.
|
||||
@ -373,6 +374,12 @@ gdk_surface_real_move_to_rect (GdkSurface *surface,
|
||||
else
|
||||
gdk_surface_move (surface, final_rect.x, final_rect.y);
|
||||
|
||||
gdk_surface_get_origin (toplevel, &x, &y);
|
||||
final_rect.x -= x;
|
||||
final_rect.y -= y;
|
||||
flipped_rect.x -= x;
|
||||
flipped_rect.y -= y;
|
||||
|
||||
g_signal_emit_by_name (surface,
|
||||
"moved-to-rect",
|
||||
&flipped_rect,
|
||||
|
Loading…
Reference in New Issue
Block a user