mirror of
https://gitlab.freedesktop.org/pipewire/pipewire.git
synced 2025-11-04 13:30:12 -05:00
media-session: make sure to only remove hooks once
This commit is contained in:
parent
cfce048528
commit
181ca167e7
1 changed files with 11 additions and 2 deletions
|
|
@ -918,9 +918,10 @@ destroy_proxy(void *data)
|
||||||
|
|
||||||
pw_log_debug("object %p: proxy:%p id:%d", obj, obj->proxy, obj->id);
|
pw_log_debug("object %p: proxy:%p id:%d", obj, obj->proxy, obj->id);
|
||||||
|
|
||||||
spa_hook_remove(&obj->proxy_listener);
|
if (SPA_FLAG_IS_SET(obj->mask, SM_OBJECT_CHANGE_MASK_LISTENER)) {
|
||||||
if (SPA_FLAG_IS_SET(obj->mask, SM_OBJECT_CHANGE_MASK_LISTENER))
|
SPA_FLAG_CLEAR(obj->mask, SM_OBJECT_CHANGE_MASK_LISTENER);
|
||||||
spa_hook_remove(&obj->object_listener);
|
spa_hook_remove(&obj->object_listener);
|
||||||
|
}
|
||||||
|
|
||||||
if (obj->id != SPA_ID_INVALID)
|
if (obj->id != SPA_ID_INVALID)
|
||||||
remove_object(impl, obj);
|
remove_object(impl, obj);
|
||||||
|
|
@ -930,6 +931,14 @@ destroy_proxy(void *data)
|
||||||
if (obj->destroy)
|
if (obj->destroy)
|
||||||
obj->destroy(obj);
|
obj->destroy(obj);
|
||||||
|
|
||||||
|
if (obj->proxy) {
|
||||||
|
spa_hook_remove(&obj->proxy_listener);
|
||||||
|
obj->proxy = NULL;
|
||||||
|
}
|
||||||
|
if (obj->handle) {
|
||||||
|
spa_hook_remove(&obj->handle_listener);
|
||||||
|
obj->handle = NULL;
|
||||||
|
}
|
||||||
if (obj->props)
|
if (obj->props)
|
||||||
pw_properties_free(obj->props);
|
pw_properties_free(obj->props);
|
||||||
obj->props = NULL;
|
obj->props = NULL;
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue