mirror of
https://gitlab.freedesktop.org/pipewire/pipewire.git
synced 2025-11-03 09:01:54 -05:00
tools: remove registry listener before destroying
Otherwise we access freed memory when we try to remove the listener later.
This commit is contained in:
parent
72acd752f6
commit
27f85d1f52
1 changed files with 1 additions and 1 deletions
|
|
@ -437,7 +437,6 @@ static void on_core_destroy(void *_data)
|
||||||
spa_list_remove(&rd->link);
|
spa_list_remove(&rd->link);
|
||||||
|
|
||||||
spa_hook_remove(&rd->core_listener);
|
spa_hook_remove(&rd->core_listener);
|
||||||
spa_hook_remove(&rd->registry_listener);
|
|
||||||
spa_hook_remove(&rd->proxy_core_listener);
|
spa_hook_remove(&rd->proxy_core_listener);
|
||||||
|
|
||||||
pw_map_remove(&data->vars, rd->id);
|
pw_map_remove(&data->vars, rd->id);
|
||||||
|
|
@ -456,6 +455,7 @@ static const struct pw_proxy_events proxy_core_events = {
|
||||||
|
|
||||||
static void remote_data_free(struct remote_data *rd)
|
static void remote_data_free(struct remote_data *rd)
|
||||||
{
|
{
|
||||||
|
spa_hook_remove(&rd->registry_listener);
|
||||||
pw_proxy_destroy((struct pw_proxy*)rd->registry);
|
pw_proxy_destroy((struct pw_proxy*)rd->registry);
|
||||||
pw_core_disconnect(rd->core);
|
pw_core_disconnect(rd->core);
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue