mirror of
https://gitlab.freedesktop.org/pipewire/pipewire.git
synced 2025-11-03 09:01:54 -05:00
media-session: don't destroy bluez sm_object in session destroy handler, let object been destroyed in session_shutdown.
Avoid double free on object proxy, although it has been handled by d143c169cc.
This commit is contained in:
parent
5913eb098c
commit
4200ca98d6
1 changed files with 4 additions and 3 deletions
|
|
@ -351,6 +351,8 @@ static void device_destroy(void *data)
|
|||
|
||||
pw_log_debug("device %p destroy", device);
|
||||
|
||||
spa_hook_remove(&device->listener);
|
||||
|
||||
if (device->appeared) {
|
||||
device->appeared = false;
|
||||
spa_hook_remove(&device->device_listener);
|
||||
|
|
@ -492,9 +494,8 @@ static void bluez5_update_device(struct impl *impl, struct device *device,
|
|||
}
|
||||
}
|
||||
|
||||
static void bluez5_device_free(struct impl *impl, struct device *device)
|
||||
static void bluez5_device_free(struct device *device)
|
||||
{
|
||||
bluez5_remove_device(impl, device);
|
||||
spa_list_remove(&device->link);
|
||||
pw_unload_spa_handle(device->handle);
|
||||
pw_properties_free(device->props);
|
||||
|
|
@ -532,7 +533,7 @@ static void session_destroy(void *data)
|
|||
struct impl *impl = data;
|
||||
struct device *device;
|
||||
spa_list_consume(device, &impl->device_list, link)
|
||||
bluez5_device_free(impl, device);
|
||||
bluez5_device_free(device);
|
||||
|
||||
spa_hook_remove(&impl->session_listener);
|
||||
spa_hook_remove(&impl->listener);
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue