From 984b2d296e246d69451e593a6cf8d21c30078292 Mon Sep 17 00:00:00 2001 From: Wim Taymans Date: Mon, 6 Oct 2025 11:48:40 +0200 Subject: [PATCH] context: only make active nodes runnable Only try to make active nodes runnable. This can happen when the node is destroyed. Avoids a -EIO error when destroying nodes from pavucontrol. --- src/pipewire/context.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/pipewire/context.c b/src/pipewire/context.c index 8956c9c03..f1d5e01b4 100644 --- a/src/pipewire/context.c +++ b/src/pipewire/context.c @@ -1114,7 +1114,7 @@ static int collect_nodes(struct pw_context *context, struct pw_impl_node *node, * made the driver active. If the node is a leaf it can not be activated in any other * way and we will also make it, and all its peers, runnable */ spa_list_for_each(n, collect, sort_link) { - if (!n->driver && n->driver_node->runnable && !n->runnable && n->leaf) { + if (!n->driver && n->driver_node->runnable && !n->runnable && n->leaf && n->active) { n->runnable = true; run_nodes(context, n, collect, PW_DIRECTION_OUTPUT, 0); run_nodes(context, n, collect, PW_DIRECTION_INPUT, 0);