]> code.delx.au - pulseaudio/commitdiff
bluetooth: do not hand out access to devices that are not fully configured yet
authorLennart Poettering <lennart@poettering.net>
Sat, 31 Oct 2009 01:05:54 +0000 (02:05 +0100)
committerLennart Poettering <lennart@poettering.net>
Sat, 31 Oct 2009 01:05:54 +0000 (02:05 +0100)
src/modules/bluetooth/bluetooth-util.c

index f8c5b778201231cc75ad37db6af30a6ead272339..47d6200575c399558f4b4d8c1effde00a5208d61 100644 (file)
@@ -723,12 +723,14 @@ const pa_bluetooth_device* pa_bluetooth_discovery_get_by_address(pa_bluetooth_di
 
     while ((d = pa_hashmap_iterate(y->devices, &state, NULL)))
         if (pa_streq(d->address, address))
-            return d;
+            return device_is_audio(d) ? d : NULL;
 
     return NULL;
 }
 
 const pa_bluetooth_device* pa_bluetooth_discovery_get_by_path(pa_bluetooth_discovery *y, const char* path) {
+    pa_bluetooth_device *d;
+
     pa_assert(y);
     pa_assert(PA_REFCNT_VALUE(y) > 0);
     pa_assert(path);
@@ -736,7 +738,11 @@ const pa_bluetooth_device* pa_bluetooth_discovery_get_by_path(pa_bluetooth_disco
     if (!pa_hook_is_firing(&y->hook))
         pa_bluetooth_discovery_sync(y);
 
-    return pa_hashmap_get(y->devices, path);
+    if ((d = pa_hashmap_get(y->devices, path)))
+        if (device_is_audio(d))
+            return d;
+
+    return NULL;
 }
 
 static int setup_dbus(pa_bluetooth_discovery *y) {