From e79e89c94d20792c122ec5e173808307c7b579f2 Mon Sep 17 00:00:00 2001 From: Tudor Brindus Date: Sun, 7 Jun 2020 16:43:53 -0400 Subject: [PATCH] input/cursor: don't send wl_pointer.motion event on pointer unlock warp On warping to a cursor hint, update the pointer position we track as well, so that on the next pointer rebase we don't send an unexpected synthetic motion event to clients. Fixes #5405. (cherry picked from commit 6b9a9b62462c0fae7b09294700112c569a3ccc19) --- sway/input/cursor.c | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/sway/input/cursor.c b/sway/input/cursor.c index 0d5b076b0..e43a0e719 100644 --- a/sway/input/cursor.c +++ b/sway/input/cursor.c @@ -1244,6 +1244,10 @@ static void warp_to_constraint_cursor_hint(struct sway_cursor *cursor) { double ly = sy + con->content_y - view->geometry.y; wlr_cursor_warp(cursor->cursor, NULL, lx, ly); + + // Warp the pointer as well, so that on the next pointer rebase we don't + // send an unexpected synthetic motion event to clients. + wlr_seat_pointer_warp(constraint->seat, sx, sy); } }