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 <daniels@collabora.com>
This commit is contained in:
Daniel Stone 2022-06-24 14:53:21 +01:00
parent cf5aca5a0d
commit 97f664815d

View File

@ -2716,6 +2716,7 @@ wayland_destroy(struct weston_compositor *ec)
{ {
struct wayland_backend *b = to_wayland_backend(ec); struct wayland_backend *b = to_wayland_backend(ec);
struct weston_head *base, *next; struct weston_head *base, *next;
struct wayland_parent_output *output, *next_output;
struct wayland_input *input, *next_input; struct wayland_input *input, *next_input;
wl_event_source_remove(b->parent.wl_source); wl_event_source_remove(b->parent.wl_source);
@ -2727,6 +2728,9 @@ wayland_destroy(struct weston_compositor *ec)
wayland_head_destroy(base); 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) wl_list_for_each_safe(input, next_input, &b->input_list, link)
wayland_input_destroy(input); wayland_input_destroy(input);