diff --git a/hw/xwayland/xwayland-input.c b/hw/xwayland/xwayland-input.c index cd2046e1d..1f145640c 100644 --- a/hw/xwayland/xwayland-input.c +++ b/hw/xwayland/xwayland-input.c @@ -3515,9 +3515,6 @@ xwl_seat_emulate_pointer_warp(struct xwl_seat *xwl_seat, if (!xwl_seat_can_emulate_pointer_warp(xwl_seat)) return; - if (xwl_seat->x_cursor != NULL) - return; - if (!xwl_seat->pointer_warp_emulator) xwl_seat_create_pointer_warp_emulator(xwl_seat); @@ -3528,6 +3525,9 @@ xwl_seat_emulate_pointer_warp(struct xwl_seat *xwl_seat, xwl_window, sprite, x, y); + + if (xwl_seat->x_cursor != NULL) + xwl_seat_destroy_pointer_warp_emulator(xwl_seat); } static Bool