backend/wayland: destroy ignored tablet proxies

This fixes a memory leak when there are multiple tablets.

(cherry picked from commit 55bee71a53)
This commit is contained in:
Kirill Primak 2024-06-20 11:12:01 +03:00 committed by Simon Zeni
parent 0dc1e0ed2a
commit 644f9a2d73

View file

@ -405,6 +405,7 @@ static void handle_pad_added(void *data,
struct wlr_wl_seat *seat = data;
if (seat->zwp_tablet_pad_v2 != NULL) {
wlr_log(WLR_ERROR, "zwp_tablet_pad_v2 is already present");
zwp_tablet_pad_v2_destroy(zwp_tablet_pad_v2);
return;
}
@ -780,6 +781,7 @@ static void handle_tool_added(void *data,
struct wlr_wl_seat *seat = data;
if (seat->zwp_tablet_tool_v2 != NULL) {
wlr_log(WLR_ERROR, "zwp_tablet_tool_v2 already present");
zwp_tablet_tool_v2_destroy(zwp_tablet_tool_v2);
return;
}
@ -861,6 +863,7 @@ static void handle_tab_added(void *data,
struct wlr_wl_seat *seat = data;
if (seat->zwp_tablet_v2 != NULL) {
wlr_log(WLR_ERROR, "zwp_tablet_v2 already present");
zwp_tablet_v2_destroy(zwp_tablet_v2);
return;
}