diff options
author | Simon Ser <contact@emersion.fr> | 2023-03-01 16:06:37 +0100 |
---|---|---|
committer | Simon Ser <contact@emersion.fr> | 2023-03-01 16:07:54 +0100 |
commit | 97c8ad7c65f397368867310308c96c59b59ef2bd (patch) | |
tree | e26ab27ec28d125d2671d3983df6db22d5bb4b83 /backend | |
parent | cab47d33e2ded0e990d18aec1689b3e2b156dee3 (diff) | |
download | wlroots-97c8ad7c65f397368867310308c96c59b59ef2bd.tar.xz |
backend/wayland: fix leak of some globals
Fix a few globals which weren't properly cleaned up. Discovered
in [1].
[1]: https://gitlab.freedesktop.org/wlroots/wlroots/-/issues/3604
Diffstat (limited to 'backend')
-rw-r--r-- | backend/wayland/backend.c | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/backend/wayland/backend.c b/backend/wayland/backend.c index cd1c6a4d..b4bacf12 100644 --- a/backend/wayland/backend.c +++ b/backend/wayland/backend.c @@ -485,18 +485,27 @@ static void backend_destroy(struct wlr_backend *backend) { destroy_wl_seat(seat); } + if (wl->activation_v1) { + xdg_activation_v1_destroy(wl->activation_v1); + } if (wl->zxdg_decoration_manager_v1) { zxdg_decoration_manager_v1_destroy(wl->zxdg_decoration_manager_v1); } if (wl->zwp_pointer_gestures_v1) { zwp_pointer_gestures_v1_destroy(wl->zwp_pointer_gestures_v1); } + if (wl->tablet_manager) { + zwp_tablet_manager_v2_destroy(wl->tablet_manager); + } if (wl->presentation) { wp_presentation_destroy(wl->presentation); } if (wl->zwp_linux_dmabuf_v1) { zwp_linux_dmabuf_v1_destroy(wl->zwp_linux_dmabuf_v1); } + if (wl->legacy_drm != NULL) { + wl_drm_destroy(wl->legacy_drm); + } if (wl->shm) { wl_shm_destroy(wl->shm); } |