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);
|
pw_log_debug("remove node %u", node->id);
|
||||||
spa_list_remove(&node->link);
|
spa_list_remove(&node->link);
|
||||||
|
sm_object_destroy(&node->snode->obj);
|
||||||
pw_impl_node_destroy(node->adapter);
|
pw_impl_node_destroy(node->adapter);
|
||||||
pw_properties_free(node->props);
|
pw_properties_free(node->props);
|
||||||
free(node);
|
free(node);
|
||||||
|
|
|
||||||
|
|
@ -44,6 +44,7 @@
|
||||||
#include "pipewire/pipewire.h"
|
#include "pipewire/pipewire.h"
|
||||||
#include "pipewire/private.h"
|
#include "pipewire/private.h"
|
||||||
#include "extensions/session-manager.h"
|
#include "extensions/session-manager.h"
|
||||||
|
#include "extensions/client-node.h"
|
||||||
|
|
||||||
#include <dbus/dbus.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);
|
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);
|
info = get_object_info(impl, type);
|
||||||
if (info == NULL) {
|
if (info == NULL) {
|
||||||
pw_log_error(NAME" %p: unknown object type %s", impl, type);
|
pw_log_error(NAME" %p: unknown object type %s", impl, type);
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue