diff options
author | Matthias Clasen <mclasen@redhat.com> | 2022-09-28 01:38:45 +0000 |
---|---|---|
committer | Matthias Clasen <mclasen@redhat.com> | 2022-09-28 01:38:45 +0000 |
commit | 5f469d8903eeed696bc3b43c420432842c50e523 (patch) | |
tree | 3d7fb7603d191c15b84ff5ad1b6912e3bc900955 | |
parent | 2ce2e90205171a5e4d7992bf441495068516d06d (diff) | |
parent | 2acd10d7b0b1be2cbb6eefb0a6254cd3caad3ffa (diff) | |
download | gtk+-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.c | 7 |
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; } |