gjdwebserver-overlay/gui-libs/wlroots/files/0001-seat-Don-t-forget-to-destroy-touch-points-on-touch-u.patch
2025-04-26 20:45:23 +02:00

39 lines
1.2 KiB
Diff

From 3c8b98066cc39a3c06dd9d09d3f4ad542dfa13b1 Mon Sep 17 00:00:00 2001
Message-ID: <3c8b98066cc39a3c06dd9d09d3f4ad542dfa13b1.1737996779.git.agx@sigxcpu.org>
From: =?UTF-8?q?Guido=20G=C3=BCnther?= <agx@sigxcpu.org>
Date: Mon, 27 Jan 2025 17:48:39 +0100
Subject: [PATCH] seat: Don't forget to destroy touch points on touch up
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
Otherwise number of touch points goes up constantly and d'n'd via touch
can't work as validation always fails.
Fixes 75ecba44 ("seat: add serials to touch up events")
Signed-off-by: Guido Günther <agx@sigxcpu.org>
---
types/seat/wlr_seat_touch.c | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/types/seat/wlr_seat_touch.c b/types/seat/wlr_seat_touch.c
index 09f33d6..cc5b7c8 100644
--- a/types/seat/wlr_seat_touch.c
+++ b/types/seat/wlr_seat_touch.c
@@ -214,9 +214,10 @@ uint32_t wlr_seat_touch_notify_up(struct wlr_seat *seat, uint32_t time,
return 0;
}
- return grab->interface->up(grab, time, point);
+ uint32_t serial = grab->interface->up(grab, time, point);
touch_point_destroy(point);
+ return serial;
}
void wlr_seat_touch_notify_motion(struct wlr_seat *seat, uint32_t time,
--
2.45.2