diff --git a/src/modules/module-client-node/client-node.c b/src/modules/module-client-node/client-node.c index cb863e225..4125e4fac 100644 --- a/src/modules/module-client-node/client-node.c +++ b/src/modules/module-client-node/client-node.c @@ -1346,9 +1346,6 @@ static void node_free(void *data) while ((mm = pw_mempool_find_tag(impl->client->pool, tag, sizeof(uint32_t))) != NULL) pw_memmap_free(mm); - if (impl->resource) - pw_resource_destroy(impl->resource); - if (impl->activation) pw_memblock_free(impl->activation); @@ -1358,6 +1355,9 @@ static void node_free(void *data) } pw_array_clear(&impl->io_areas); + if (impl->resource) + pw_resource_destroy(impl->resource); + pw_map_clear(&impl->ports[0]); pw_map_clear(&impl->ports[1]); pw_map_clear(&impl->io_map);