From: Etaash Mathamsetty <etaash.mathamsetty@gmail.com> --- dlls/winewayland.drv/wayland_pointer.c | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/dlls/winewayland.drv/wayland_pointer.c b/dlls/winewayland.drv/wayland_pointer.c index f6e359c14a5..d7cdd87ed84 100644 --- a/dlls/winewayland.drv/wayland_pointer.c +++ b/dlls/winewayland.drv/wayland_pointer.c @@ -299,6 +299,17 @@ static void pointer_handle_frame(void *data, struct wl_pointer *wl_pointer) TRACE("hwnd=%p\n", hwnd); + pthread_mutex_lock(&pointer->mutex); + + /* cannot handle any new motion events when a warp is pending */ + if (pointer->pending_warp) + { + frame->flags &= ~(WAYLAND_POINTER_FRAME_ABSOLUTE + | WAYLAND_POINTER_FRAME_RELATIVE); + } + + pthread_mutex_unlock(&pointer->mutex); + input.type = INPUT_MOUSE; input.mi.dwFlags = MOUSEEVENTF_ABSOLUTE | MOUSEEVENTF_MOVE; -- GitLab https://gitlab.winehq.org/wine/wine/-/merge_requests/11117