From 3e0632cbd217c258a201560d850fdce495fc7954 Mon Sep 17 00:00:00 2001 From: Riteo Date: Sun, 7 Jul 2024 08:39:53 +0200 Subject: [PATCH] Wayland: scale relative pointer motion Oops, forgot to do that. Motion-dependent stuff should now work properly when using scaled displays. --- platform/linuxbsd/wayland/wayland_thread.cpp | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/platform/linuxbsd/wayland/wayland_thread.cpp b/platform/linuxbsd/wayland/wayland_thread.cpp index 341cc517e3b..7bdc75db298 100644 --- a/platform/linuxbsd/wayland/wayland_thread.cpp +++ b/platform/linuxbsd/wayland/wayland_thread.cpp @@ -2049,9 +2049,14 @@ void WaylandThread::_wp_relative_pointer_on_relative_motion(void *data, struct z PointerData &pd = ss->pointer_data_buffer; + WindowState *ws = wl_surface_get_window_state(ss->pointed_surface); + ERR_FAIL_NULL(ws); + pd.relative_motion.x = wl_fixed_to_double(dx); pd.relative_motion.y = wl_fixed_to_double(dy); + pd.relative_motion *= window_state_get_scale_factor(ws); + pd.relative_motion_time = uptime_lo; }