aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authoremersion <contact@emersion.fr>2018-12-04 20:06:38 +0100
committeremersion <contact@emersion.fr>2018-12-04 20:06:38 +0100
commit3ca7ca5306df09abd7809e69fb7e1a9817fcf527 (patch)
treef62b371003a70a4483684a85ee72e991a9183ee1
parent3efc6bc363b4200d9cd73e76a7e95778595f5049 (diff)
tablet-v2: fix wlr_tablet_seat_v2 leak
-rw-r--r--types/tablet_v2/wlr_tablet_v2.c7
1 files changed, 4 insertions, 3 deletions
diff --git a/types/tablet_v2/wlr_tablet_v2.c b/types/tablet_v2/wlr_tablet_v2.c
index a1cace93..d0bc799d 100644
--- a/types/tablet_v2/wlr_tablet_v2.c
+++ b/types/tablet_v2/wlr_tablet_v2.c
@@ -28,13 +28,14 @@ struct wlr_tablet_manager_client_v2 {
};
static void tablet_seat_destroy(struct wlr_tablet_seat_v2 *seat) {
- wl_list_remove(&seat->link);
- wl_list_remove(&seat->seat_destroy.link);
-
struct wlr_tablet_seat_client_v2 *client, *client_tmp;
wl_list_for_each_safe(client, client_tmp, &seat->clients, seat_link) {
tablet_seat_client_v2_destroy(client->resource);
}
+
+ wl_list_remove(&seat->link);
+ wl_list_remove(&seat->seat_destroy.link);
+ free(seat);
}
static void handle_wlr_seat_destroy(struct wl_listener *listener, void *data) {