From 92808809ec4369b03e619ff791be13dcb81dedf2 Mon Sep 17 00:00:00 2001 From: Wim Taymans Date: Wed, 22 May 2019 10:05:24 +0200 Subject: [PATCH] client-node: don't destroy the resource from its event Do no destroy the resource from within the event handler --- src/modules/module-client-node/client-node.c | 7 ------- src/modules/module-client-node/protocol-native.c | 1 + 2 files changed, 1 insertion(+), 7 deletions(-) diff --git a/src/modules/module-client-node/client-node.c b/src/modules/module-client-node/client-node.c index 27e703292..ccb043d4f 100644 --- a/src/modules/module-client-node/client-node.c +++ b/src/modules/module-client-node/client-node.c @@ -1047,12 +1047,6 @@ static void client_node_event(void *data, struct spa_event *event) this->callbacks->event(this->callbacks_data, event); } -static void client_node_destroy(void *data) -{ - struct impl *impl = data; - pw_client_node_destroy(&impl->this); -} - static struct pw_client_node_proxy_methods client_node_methods = { PW_VERSION_CLIENT_NODE_PROXY_METHODS, .done = client_node_done, @@ -1060,7 +1054,6 @@ static struct pw_client_node_proxy_methods client_node_methods = { .port_update = client_node_port_update, .set_active = client_node_set_active, .event = client_node_event, - .destroy = client_node_destroy, }; static void node_on_data_fd_events(struct spa_source *source) diff --git a/src/modules/module-client-node/protocol-native.c b/src/modules/module-client-node/protocol-native.c index 30852a8c8..30d9e99cd 100644 --- a/src/modules/module-client-node/protocol-native.c +++ b/src/modules/module-client-node/protocol-native.c @@ -832,6 +832,7 @@ static int client_node_demarshal_destroy(void *object, void *data, size_t size) return -EINVAL; pw_resource_do(resource, struct pw_client_node_proxy_methods, destroy, 0); + pw_resource_destroy(resource); return 0; }