Rémi Bernon (@rbernon) commented about dlls/winewayland.drv/wayland_pointer.c:
+ if (!(surface = wayland_surface_lock_hwnd(hwnd))) return; + + window_rect = surface->window.rect; + + wayland_surface_coords_to_window(surface, + wl_fixed_to_double(dx), + wl_fixed_to_double(dy), + (int *)&screen.x, (int *)&screen.y); + + pthread_mutex_unlock(&surface->mutex); + + if (screen.x >= 0) + { + origin.x = window_rect.left; + screen.x += origin.x; + if (screen.x >= window_rect.right) screen.x = window_rect.right - 1; Why forbidding relative motion larger than the window?
-- https://gitlab.winehq.org/wine/wine/-/merge_requests/4593#note_54910