diff --git a/backend/wayland/pointer.c b/backend/wayland/pointer.c index 0dc5efa9..db31f1ab 100644 --- a/backend/wayland/pointer.c +++ b/backend/wayland/pointer.c @@ -404,6 +404,9 @@ static void destroy_pointer(struct wlr_wl_pointer *pointer) { if (pointer->output->cursor.pointer == pointer) { pointer->output->cursor.pointer = NULL; } + if (pointer->seat->active_pointer == pointer) { + pointer->seat->active_pointer = NULL; + } wlr_pointer_finish(&pointer->wlr_pointer); wl_list_remove(&pointer->output_destroy.link);