[PATCH BlueZ] client: Avoid scan prompt when discovery is already active
z4pdy <[email protected]>
| Newsgroups | org.kernel.vger.linux-bluetooth |
|---|---|
| Message-ID | <[email protected]> |
Check the adapter's Discovering property before prompting the user
to start scanning. This avoids prompting to scan when discovery is
already in progress, which previously resulted
in an org.bluez.Error.InProgress error.
---
client/main.c | 16 ++++++++++++++--
1 file changed, 14 insertions(+), 2 deletions(-)
diff --git a/client/main.c b/client/main.c
index b5cad8afc..b8087c449 100644
--- a/client/main.c
+++ b/client/main.c
@@ -2297,8 +2297,20 @@ static void cmd_connect(int argc, char *argv[])
proxy = find_proxy_by_address(default_ctrl->devices, argv[1]);
if (!proxy) {
bt_shell_printf("Device %s not available\n", argv[1]);
- bt_shell_prompt_input(argv[1], "Scan and connect (yes,no):",
- prompt_scan_connect, strdup(argv[1]));
+ dbus_bool_t discovering;
+ DBusMessageIter iter;
+
+ if (g_dbus_proxy_get_property(default_ctrl->proxy,
+ "Discovering", &iter)) {
+ dbus_message_iter_get_basic(&iter, &discovering);
+
+ if (!discovering)
+ bt_shell_prompt_input(argv[1],
+ "Scan and connect (yes,no):",
+ prompt_scan_connect,
+ strdup(argv[1]));
+
+ }
return;
}
--
2.55.0