From 5d4efe960fd94d692e51234cd5f81a5779b2dd07 Mon Sep 17 00:00:00 2001 From: Luiz Augusto von Dentz Date: Wed, 27 Aug 2025 10:01:17 -0400 Subject: [PATCH] client: Fix transport.acquire not doing anything If transport.acquire is called for a transport that does not use a local endpoint it won't call Transport.Acquire as the bluetoothd does not allow controlling transports of other processes, but it doesn't print anything either leaving the user blind to what is happening. Fixes: https://github.com/bluez/bluez/issues/1532 --- client/player.c | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/client/player.c b/client/player.c index 8e68fbcc0..598ad7f6d 100644 --- a/client/player.c +++ b/client/player.c @@ -5017,8 +5017,15 @@ static void transport_acquire(GDBusProxy *proxy, bool prompt) * endpoint. */ ep = find_ep_by_transport(g_dbus_proxy_get_path(proxy)); - if (!ep || queue_find(ep->acquiring, NULL, proxy)) + if (!ep) { + bt_shell_printf("transport endpoint not found\n"); return; + } + + if (queue_find(ep->acquiring, NULL, proxy)) { + bt_shell_printf("acquire already in progress\n"); + return; + } if (!ep->broadcast) { link = find_link_by_proxy(proxy); -- 2.47.3