summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/bluetooth/qbluetoothservicediscoveryagent_osx.mm7
1 files changed, 7 insertions, 0 deletions
diff --git a/src/bluetooth/qbluetoothservicediscoveryagent_osx.mm b/src/bluetooth/qbluetoothservicediscoveryagent_osx.mm
index 572e445e..64723dd1 100644
--- a/src/bluetooth/qbluetoothservicediscoveryagent_osx.mm
+++ b/src/bluetooth/qbluetoothservicediscoveryagent_osx.mm
@@ -171,6 +171,13 @@ void QBluetoothServiceDiscoveryAgentPrivate::startServiceDiscovery()
state = ServiceDiscovery;
const QBluetoothAddress &address(discoveredDevices.at(0).address());
+ if (address.isNull()) {
+ // This can happen: LE scan works with CoreBluetooth, but CBPeripherals
+ // do not expose hardware addresses.
+ // Pop the current QBluetoothDeviceInfo and decide what to do next.
+ return serviceDiscoveryFinished();
+ }
+
// Autoreleased object.
IOBluetoothHostController *const hc = [IOBluetoothHostController defaultController];
if (![hc powerState]) {