remove hooks from objects

Remove the hooks we installed on objects in the destroy/free event
or before calling _destroy. This is not really needed but it is
a nice thing to do because it calls the hook removed callbacks.
This commit is contained in:
Wim Taymans 2020-11-06 15:53:32 +01:00
parent 6317bc4deb
commit 1570e62635
19 changed files with 109 additions and 27 deletions

View file

@ -123,6 +123,8 @@ static void global_unbind(void *data)
{
struct resource_data *d = data;
if (d->resource) {
spa_hook_remove(&d->resource_listener);
spa_hook_remove(&d->object_listener);
spa_hook_remove(&d->metadata_listener);
spa_hook_remove(&d->impl_resource_listener);
}

View file

@ -43,7 +43,9 @@ struct object_data {
static void proxy_object_destroy(void *_data)
{
struct object_data *data = _data;
spa_hook_remove(&data->proxy_listener);
spa_hook_remove(&data->object_listener);
spa_hook_remove(&data->object_methods);
}
static const struct pw_proxy_events proxy_events = {