diff options
-rw-r--r-- | src/bluetooth/qlowenergycontroller_osx.mm | 1 | ||||
-rw-r--r-- | src/bluetooth/qlowenergycontrollerbase.cpp | 9 |
2 files changed, 6 insertions, 4 deletions
diff --git a/src/bluetooth/qlowenergycontroller_osx.mm b/src/bluetooth/qlowenergycontroller_osx.mm index 46782a22..d01686ae 100644 --- a/src/bluetooth/qlowenergycontroller_osx.mm +++ b/src/bluetooth/qlowenergycontroller_osx.mm @@ -1372,6 +1372,7 @@ QLowEnergyService *QLowEnergyController::addService(const QLowEnergyServiceData if (const auto servicePrivate = [osx_d_ptr->peripheralManager addService:data]) { servicePrivate->setController(osx_d_ptr); + servicePrivate->state = QLowEnergyService::LocalService; osx_d_ptr->discoveredServices.insert(servicePrivate->uuid, servicePrivate); return new QLowEnergyService(servicePrivate, parent); } diff --git a/src/bluetooth/qlowenergycontrollerbase.cpp b/src/bluetooth/qlowenergycontrollerbase.cpp index bfdd61a6..86108648 100644 --- a/src/bluetooth/qlowenergycontrollerbase.cpp +++ b/src/bluetooth/qlowenergycontrollerbase.cpp @@ -255,10 +255,11 @@ quint16 QLowEnergyControllerPrivate::updateValueOfDescriptor( void QLowEnergyControllerPrivate::invalidateServices() { - for (QSharedPointer<QLowEnergyServicePrivate> service : serviceList.values()) { + for (QSharedPointer<QLowEnergyServicePrivate> service : serviceList.values()) + service->setController(nullptr); + + for (QSharedPointer<QLowEnergyServicePrivate> service : localServices.values()) service->setController(nullptr); - service->setState(QLowEnergyService::InvalidService); - } serviceList.clear(); localServices.clear(); @@ -273,8 +274,8 @@ QLowEnergyService *QLowEnergyControllerPrivate::addServiceHelper( // for it. const auto servicePrivate = QSharedPointer<QLowEnergyServicePrivate>::create(); - servicePrivate->state = QLowEnergyService::LocalService; servicePrivate->setController(this); + servicePrivate->state = QLowEnergyService::LocalService; servicePrivate->uuid = service.uuid(); servicePrivate->type = service.type() == QLowEnergyServiceData::ServiceTypePrimary ? QLowEnergyService::PrimaryService : QLowEnergyService::IncludedService; |