mirror of
https://gitlab.freedesktop.org/pipewire/pipewire.git
synced 2025-11-02 09:01:50 -05:00
Fix bluez node destroy
We create a ClientNode but monitor the resulting Node. Destroy the object when removing a node.
This commit is contained in:
parent
8ad769b943
commit
c28ca320d1
2 changed files with 5 additions and 0 deletions
|
|
@ -201,6 +201,7 @@ static void bluez5_remove_node(struct device *device, struct node *node)
|
|||
{
|
||||
pw_log_debug("remove node %u", node->id);
|
||||
spa_list_remove(&node->link);
|
||||
sm_object_destroy(&node->snode->obj);
|
||||
pw_impl_node_destroy(node->adapter);
|
||||
pw_properties_free(node->props);
|
||||
free(node);
|
||||
|
|
|
|||
|
|
@ -44,6 +44,7 @@
|
|||
#include "pipewire/pipewire.h"
|
||||
#include "pipewire/private.h"
|
||||
#include "extensions/session-manager.h"
|
||||
#include "extensions/client-node.h"
|
||||
|
||||
#include <dbus/dbus.h>
|
||||
|
||||
|
|
@ -1066,6 +1067,9 @@ create_object(struct impl *impl, struct pw_proxy *proxy, struct pw_proxy *handle
|
|||
|
||||
type = pw_proxy_get_type(handle, NULL);
|
||||
|
||||
if (strcmp(type, PW_TYPE_INTERFACE_ClientNode) == 0)
|
||||
type = PW_TYPE_INTERFACE_Node;
|
||||
|
||||
info = get_object_info(impl, type);
|
||||
if (info == NULL) {
|
||||
pw_log_error(NAME" %p: unknown object type %s", impl, type);
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue