From 97f664815d6c27244f710e998868c689dbf84b0e Mon Sep 17 00:00:00 2001 From: Daniel Stone Date: Fri, 24 Jun 2022 14:53:21 +0100 Subject: [PATCH] backend-wayland: Don't leak parent output trackers We were only destroying these when the parent display removed the output global. Do it on shutdown too, so we can avoid leaking it. Signed-off-by: Daniel Stone --- libweston/backend-wayland/wayland.c | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/libweston/backend-wayland/wayland.c b/libweston/backend-wayland/wayland.c index e98d7d87..0759ee53 100644 --- a/libweston/backend-wayland/wayland.c +++ b/libweston/backend-wayland/wayland.c @@ -2716,6 +2716,7 @@ wayland_destroy(struct weston_compositor *ec) { struct wayland_backend *b = to_wayland_backend(ec); struct weston_head *base, *next; + struct wayland_parent_output *output, *next_output; struct wayland_input *input, *next_input; wl_event_source_remove(b->parent.wl_source); @@ -2727,6 +2728,9 @@ wayland_destroy(struct weston_compositor *ec) wayland_head_destroy(base); } + wl_list_for_each_safe(output, next_output, &b->parent.output_list, link) + wayland_parent_output_destroy(output); + wl_list_for_each_safe(input, next_input, &b->input_list, link) wayland_input_destroy(input);