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 6b9a9b6246)
This commit is contained in:
Tudor Brindus 2020-06-07 16:43:53 -04:00 committed by Simon Ser
parent a314deeaa3
commit e79e89c94d
No known key found for this signature in database
GPG key ID: 0FDE7BE0E88F5E48

View file

@ -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);
}
}