summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJonas Dreßler <verdre@v0yd.nl>2022-02-18 11:14:58 +0100
committerBastien Nocera <hadess@hadess.net>2022-02-23 12:28:47 +0000
commit65becb0c2a019a683af3f3a2fefa9391e2cfdcef (patch)
treedd1880011ffb244d8007120bfa82bfea38683e92
parent9fb72c027f9119e6992771e4ce1f0a33c80d3e7c (diff)
downloadgnome-bluetooth-65becb0c2a019a683af3f3a2fefa9391e2cfdcef.tar.gz
lib: Don't enable/disable discovery again if already enabled
We have a private property to keep track of this already, let's use it and bail out of _bluetooth_client_set_default_adapter_discovering() if we're already discovering.
-rw-r--r--lib/bluetooth-client.c6
1 files changed, 5 insertions, 1 deletions
diff --git a/lib/bluetooth-client.c b/lib/bluetooth-client.c
index 54ecc40d..4705cdb5 100644
--- a/lib/bluetooth-client.c
+++ b/lib/bluetooth-client.c
@@ -1084,6 +1084,9 @@ _bluetooth_client_set_default_adapter_discovering (BluetoothClient *client,
g_autoptr(GDBusProxy) adapter = NULL;
GVariantBuilder builder;
+ if (client->discovery_started == discovering)
+ return;
+
adapter = _bluetooth_client_get_default_adapter (client);
if (adapter == NULL) {
g_debug ("%s discovery requested, but no default adapter",
@@ -1091,6 +1094,8 @@ _bluetooth_client_set_default_adapter_discovering (BluetoothClient *client,
return;
}
+ client->discovery_started = discovering;
+
if (discovering) {
g_variant_builder_init (&builder, G_VARIANT_TYPE_VARDICT);
g_variant_builder_add (&builder, "{sv}",
@@ -1102,7 +1107,6 @@ _bluetooth_client_set_default_adapter_discovering (BluetoothClient *client,
client);
}
- client->discovery_started = discovering;
if (discovering) {
g_debug ("Starting discovery on %s", g_dbus_proxy_get_object_path (adapter));
adapter1_call_start_discovery (ADAPTER1 (adapter),