aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--types/seat/wlr_seat_touch.c5
1 files changed, 5 insertions, 0 deletions
diff --git a/types/seat/wlr_seat_touch.c b/types/seat/wlr_seat_touch.c
index 58db92cf..dd57b55a 100644
--- a/types/seat/wlr_seat_touch.c
+++ b/types/seat/wlr_seat_touch.c
@@ -175,6 +175,11 @@ uint32_t wlr_seat_touch_notify_down(struct wlr_seat *seat,
uint32_t serial = grab->interface->down(grab, time, point);
+ if (!serial) {
+ touch_point_destroy(point);
+ return 0;
+ }
+
if (serial && wlr_seat_touch_num_points(seat) == 1) {
seat->touch_state.grab_serial = serial;
seat->touch_state.grab_id = touch_id;