summaryrefslogtreecommitdiffstats
path: root/src/bluetooth/qlowenergycontrollerbase.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/bluetooth/qlowenergycontrollerbase.cpp')
-rw-r--r--src/bluetooth/qlowenergycontrollerbase.cpp7
1 files changed, 7 insertions, 0 deletions
diff --git a/src/bluetooth/qlowenergycontrollerbase.cpp b/src/bluetooth/qlowenergycontrollerbase.cpp
index 687f5b9e..c7b9ec0b 100644
--- a/src/bluetooth/qlowenergycontrollerbase.cpp
+++ b/src/bluetooth/qlowenergycontrollerbase.cpp
@@ -261,6 +261,8 @@ void QLowEnergyControllerPrivate::invalidateServices()
}
serviceList.clear();
+ localServices.clear();
+ lastLocalHandle = {};
}
QLowEnergyService *QLowEnergyControllerPrivate::addServiceHelper(
@@ -308,7 +310,12 @@ QLowEnergyService *QLowEnergyControllerPrivate::addServiceHelper(
return nullptr;
}
+ if (localServices.contains(servicePrivate->uuid)) {
+ qWarning() << "Overriding existing local service with uuid"
+ << servicePrivate->uuid;
+ }
this->localServices.insert(servicePrivate->uuid, servicePrivate);
+
this->addToGenericAttributeList(service, servicePrivate->startHandle);
return new QLowEnergyService(servicePrivate);
}