diff options
-rw-r--r-- | src/bluetooth/qlowenergycontroller_bluezdbus.cpp | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/src/bluetooth/qlowenergycontroller_bluezdbus.cpp b/src/bluetooth/qlowenergycontroller_bluezdbus.cpp index e9087642..afc4b8c1 100644 --- a/src/bluetooth/qlowenergycontroller_bluezdbus.cpp +++ b/src/bluetooth/qlowenergycontroller_bluezdbus.cpp @@ -537,8 +537,12 @@ void QLowEnergyControllerPrivateBluezDBus::discoverServiceDetails(const QBluetoo serviceData->endHandle = runningHandle++; // last job is last step of service discovery - GattJob &lastJob = jobs.last(); - lastJob.flags.setFlag(GattJob::LastServiceDiscovery, true); + if (!jobs.isEmpty()) { + GattJob &lastJob = jobs.last(); + lastJob.flags.setFlag(GattJob::LastServiceDiscovery, true); + } else { + serviceData->setState(QLowEnergyService::ServiceDiscovered); + } scheduleNextJob(); } |