From: z4pdy <[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.
Changes in v2:
- Move variable declarations to the beginning of cmd_connect()
to fix the ISO C90 build failure.
---
client/main.c | 16 ++++++++++++++--
1 file changed, 14 insertions(+), 2 deletions(-)
diff --git a/client/main.c b/client/main.c
index b5cad8afc..069e20485 100644
--- a/client/main.c
+++ b/client/main.c
@@ -2290,6 +2290,8 @@ static void cmd_connect(int argc, char *argv[])
const char *method = "Connect";
char profile[128] = "";
GDBusProxy *proxy;
+ dbus_bool_t discovering;
+ DBusMessageIter iter;
if (check_default_ctrl() == FALSE)
return bt_shell_noninteractive_quit(EXIT_FAILURE);
@@ -2297,8 +2299,18 @@ 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]));
+
+ 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
lmpx.com only provides a reader for public news (NNTP) servers. It is not
affiliated with the servers or forums shown here and is not responsible for
the content of articles, which is written by their respective authors.