From 3c3d9a6b09ef7770c1e8abe970bf48ff3c058b4e Mon Sep 17 00:00:00 2001 From: Wim Taymans Date: Thu, 17 Feb 2022 18:01:35 +0100 Subject: [PATCH] proxy: don't emit warnings for leaked listeners It's too dangerous, they might point to freed or invalid memory. --- src/pipewire/proxy.c | 20 +++++++++++--------- 1 file changed, 11 insertions(+), 9 deletions(-) diff --git a/src/pipewire/proxy.c b/src/pipewire/proxy.c index 44d4b3f47..b98b53e26 100644 --- a/src/pipewire/proxy.c +++ b/src/pipewire/proxy.c @@ -288,8 +288,6 @@ void pw_proxy_remove(struct pw_proxy *proxy) SPA_EXPORT void pw_proxy_unref(struct pw_proxy *proxy) { - struct spa_hook *h; - assert(proxy->refcount > 0); if (--proxy->refcount > 0) return; @@ -298,13 +296,17 @@ void pw_proxy_unref(struct pw_proxy *proxy) /** client must explicitly destroy all proxies */ assert(proxy->destroyed); - spa_list_for_each(h, &proxy->object_listener_list.list, link) - pw_log_warn("%p: proxy %u: leaked object listener %p", - 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); - +#if DEBUG_LISTENERS + { + struct spa_hook *h; + spa_list_for_each(h, &proxy->object_listener_list.list, link) + pw_log_warn("%p: proxy %u: leaked object listener %p", + 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); }