summaryrefslogtreecommitdiffstats
path: root/src/bluetooth/qlowenergyservice.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/bluetooth/qlowenergyservice.cpp')
-rw-r--r--src/bluetooth/qlowenergyservice.cpp10
1 files changed, 7 insertions, 3 deletions
diff --git a/src/bluetooth/qlowenergyservice.cpp b/src/bluetooth/qlowenergyservice.cpp
index 67bd7c77..9fb8e47c 100644
--- a/src/bluetooth/qlowenergyservice.cpp
+++ b/src/bluetooth/qlowenergyservice.cpp
@@ -454,9 +454,13 @@ QLowEnergyService::ServiceTypes QLowEnergyService::type() const
*/
QLowEnergyCharacteristic QLowEnergyService::characteristic(const QBluetoothUuid &uuid) const
{
- foreach (const QLowEnergyHandle handle, d_ptr->characteristicList.keys()) {
- if (d_ptr->characteristicList[handle].uuid == uuid)
- return QLowEnergyCharacteristic(d_ptr, handle);
+ CharacteristicDataMap::const_iterator charIt = d_ptr->characteristicList.constBegin();
+ for ( ; charIt != d_ptr->characteristicList.constEnd(); ++charIt) {
+ const QLowEnergyHandle charHandle = charIt.key();
+ const QLowEnergyServicePrivate::CharData &charDetails = charIt.value();
+
+ if (charDetails.uuid == uuid)
+ return QLowEnergyCharacteristic(d_ptr, charHandle);
}
return QLowEnergyCharacteristic();