summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--pipewire/pipewire-plugin.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/pipewire/pipewire-plugin.c b/pipewire/pipewire-plugin.c
index 2c91ee7f..b8dad03e 100644
--- a/pipewire/pipewire-plugin.c
+++ b/pipewire/pipewire-plugin.c
@@ -631,10 +631,14 @@ weston_pipewire_destroy(struct wl_listener *l, void *data)
{
struct weston_pipewire *pipewire =
wl_container_of(l, pipewire, destroy_listener);
+ struct pipewire_output *p_output, *p_output_next;
weston_log_scope_destroy(pipewire->debug);
pipewire->debug = NULL;
+ wl_list_for_each_safe(p_output, p_output_next, &pipewire->output_list, link)
+ pipewire_output_destroy(p_output->output);
+
wl_event_source_remove(pipewire->loop_source);
pw_loop_leave(pipewire->loop);
pw_loop_destroy(pipewire->loop);