From 4456f2efd16d6190989a903f70f4419c2ca4c819 Mon Sep 17 00:00:00 2001 From: Wim Taymans Date: Mon, 10 Jul 2023 16:59:17 +0200 Subject: [PATCH] impl-node: remove the node from the target peers When we destroy a node, we need to remove the node as a current driver peer. Not doing this has 2 problems: - remote drivers still trigger our node - the client-node does not clean up the memid for the activation and we might reuse it later for a new node with the same fd. See #3316 --- src/pipewire/impl-node.c | 1 + 1 file changed, 1 insertion(+) diff --git a/src/pipewire/impl-node.c b/src/pipewire/impl-node.c index da40adf75..294c959f6 100644 --- a/src/pipewire/impl-node.c +++ b/src/pipewire/impl-node.c @@ -1983,6 +1983,7 @@ void pw_impl_node_destroy(struct pw_impl_node *node) /* remove ourself as a follower from the driver node */ spa_list_remove(&node->follower_link); + pw_impl_node_emit_peer_removed(node->driver_node, node); remove_segment_owner(node->driver_node, node->info.id); spa_list_consume(follower, &node->follower_list, follower_link) {