proxy: don't emit warnings for leaked listeners

It's too dangerous, they might point to freed or invalid memory.
This commit is contained in:
Wim Taymans 2022-02-17 18:01:35 +01:00
parent 1ca5bc6b94
commit 3c3d9a6b09

View file

@ -288,8 +288,6 @@ void pw_proxy_remove(struct pw_proxy *proxy)
SPA_EXPORT SPA_EXPORT
void pw_proxy_unref(struct pw_proxy *proxy) void pw_proxy_unref(struct pw_proxy *proxy)
{ {
struct spa_hook *h;
assert(proxy->refcount > 0); assert(proxy->refcount > 0);
if (--proxy->refcount > 0) if (--proxy->refcount > 0)
return; return;
@ -298,13 +296,17 @@ void pw_proxy_unref(struct pw_proxy *proxy)
/** client must explicitly destroy all proxies */ /** client must explicitly destroy all proxies */
assert(proxy->destroyed); assert(proxy->destroyed);
spa_list_for_each(h, &proxy->object_listener_list.list, link) #if DEBUG_LISTENERS
pw_log_warn("%p: proxy %u: leaked object listener %p", {
proxy, proxy->id, h); struct spa_hook *h;
spa_list_for_each(h, &proxy->listener_list.list, link) spa_list_for_each(h, &proxy->object_listener_list.list, link)
pw_log_warn("%p: proxy %u: leaked listener %p", pw_log_warn("%p: proxy %u: leaked object listener %p",
proxy, proxy->id, h); proxy, proxy->id, h);
spa_list_for_each(h, &proxy->listener_list.list, link)
pw_log_warn("%p: proxy %u: leaked listener %p",
proxy, proxy->id, h);
}
#endif
free(proxy); free(proxy);
} }