mirror of
https://gitlab.freedesktop.org/pipewire/pipewire.git
synced 2025-11-02 09:01:50 -05:00
destroy proxies when global is removed
When a global is removed, also remove the proxies. We can have multiple proxies to a global otherwise when a client has a sequence of events queued from the server like this: Global 1 added Global 1 removed Global 1 added The proxy we added in the firt event would not be destroyed because the server did not know about it when global 1 was removed and then a second one would be made.
This commit is contained in:
parent
2329a4d323
commit
5ed4977b38
3 changed files with 31 additions and 8 deletions
|
|
@ -369,6 +369,8 @@ static int destroy_global(void *obj, void *data)
|
|||
if (global == NULL)
|
||||
return 0;
|
||||
|
||||
if (global->proxy)
|
||||
pw_proxy_destroy(global->proxy);
|
||||
pw_map_insert_at(&global->rd->globals, global->id, NULL);
|
||||
pw_properties_free(global->properties);
|
||||
free(global->type);
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue