diff options
author | Lennart Poettering <lennart@poettering.net> | 2009-10-31 02:05:54 +0100 |
---|---|---|
committer | Lennart Poettering <lennart@poettering.net> | 2009-10-31 02:05:54 +0100 |
commit | 2dc37e1214f20aab528ae680e9a85fc8ea143313 (patch) | |
tree | 55c0d0f8e378e5e6fe203b250a816ea4d2d75ccb | |
parent | b83d7a27cee4a436e4d692a9bba1b426090f4d12 (diff) |
bluetooth: do not hand out access to devices that are not fully configured yet
-rw-r--r-- | src/modules/bluetooth/bluetooth-util.c | 10 |
1 files changed, 8 insertions, 2 deletions
diff --git a/src/modules/bluetooth/bluetooth-util.c b/src/modules/bluetooth/bluetooth-util.c index f8c5b778..47d62005 100644 --- a/src/modules/bluetooth/bluetooth-util.c +++ b/src/modules/bluetooth/bluetooth-util.c @@ -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) { |