summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMatthias Clasen <mclasen@redhat.com>2022-09-28 01:38:45 +0000
committerMatthias Clasen <mclasen@redhat.com>2022-09-28 01:38:45 +0000
commit5f469d8903eeed696bc3b43c420432842c50e523 (patch)
tree3d7fb7603d191c15b84ff5ad1b6912e3bc900955
parent2ce2e90205171a5e4d7992bf441495068516d06d (diff)
parent2acd10d7b0b1be2cbb6eefb0a6254cd3caad3ffa (diff)
downloadgtk+-5f469d8903eeed696bc3b43c420432842c50e523.tar.gz
Merge branch 'broadway-device-query-state-fix' into 'main'
GTK4 gdk/broadway: correct gdk_broadway_device_query_state() to return pointer coordinates relative to the upper left corner of surface See merge request GNOME/gtk!5053
-rw-r--r--gdk/broadway/gdkdevice-broadway.c7
1 files changed, 5 insertions, 2 deletions
diff --git a/gdk/broadway/gdkdevice-broadway.c b/gdk/broadway/gdkdevice-broadway.c
index 37be4fa1ef..da4bc256de 100644
--- a/gdk/broadway/gdkdevice-broadway.c
+++ b/gdk/broadway/gdkdevice-broadway.c
@@ -84,6 +84,7 @@ gdk_broadway_device_query_state (GdkDevice *device,
gint32 device_root_x, device_root_y;
guint32 mouse_toplevel_id;
guint32 mask32;
+ int origin_x, origin_y;
if (gdk_device_get_source (device) != GDK_SOURCE_MOUSE)
return;
@@ -97,10 +98,12 @@ gdk_broadway_device_query_state (GdkDevice *device,
&device_root_y,
&mask32);
+ gdk_surface_get_origin (surface, &origin_x, &origin_y);
+
if (win_x)
- *win_x = device_root_x;
+ *win_x = device_root_x - origin_x;
if (win_y)
- *win_y = device_root_y;
+ *win_y = device_root_y - origin_y;
if (mask)
*mask = mask32;
}