diff --git a/hw/xwayland/xwayland-input.c b/hw/xwayland/xwayland-input.c index 0ee84f6e3..fed78f70c 100644 --- a/hw/xwayland/xwayland-input.c +++ b/hw/xwayland/xwayland-input.c @@ -72,6 +72,9 @@ xwl_pointer_warp_emulator_maybe_lock(struct xwl_pointer_warp_emulator *warp_emul SpritePtr sprite, int x, int y); +static Bool +xwl_seat_maybe_lock_on_hidden_cursor(struct xwl_seat *xwl_seat); + static void xwl_seat_destroy_confined_pointer(struct xwl_seat *xwl_seat); @@ -447,6 +450,9 @@ pointer_handle_enter(void *data, struct wl_pointer *pointer, xwl_seat->focus_window, NULL, 0, 0); } + else { + xwl_seat_maybe_lock_on_hidden_cursor(xwl_seat); + } } static void