aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--backend/wayland/wl_seat.c5
1 files changed, 5 insertions, 0 deletions
diff --git a/backend/wayland/wl_seat.c b/backend/wayland/wl_seat.c
index 6c8eb4f3..6648f97e 100644
--- a/backend/wayland/wl_seat.c
+++ b/backend/wayland/wl_seat.c
@@ -331,6 +331,11 @@ struct wlr_wl_pointer *pointer_get_wl(struct wlr_pointer *wlr_pointer) {
static void pointer_destroy(struct wlr_pointer *wlr_pointer) {
struct wlr_wl_pointer *pointer = pointer_get_wl(wlr_pointer);
+
+ if (pointer->output->backend->current_pointer == pointer) {
+ pointer->output->backend->current_pointer = NULL;
+ }
+
wl_list_remove(&pointer->output_destroy.link);
free(pointer);
}