summaryrefslogtreecommitdiff
path: root/src/positioning/qgeopositioninfosource.cpp
diff options
context:
space:
mode:
authorAnton Kudryavtsev <a.kudryavtsev@netris.ru>2016-01-14 16:19:41 +0300
committerAnton Kudryavtsev <a.kudryavtsev@netris.ru>2016-01-15 11:28:51 +0000
commitfad740822e13225f9cd9d567a346b4f2b7d6f65a (patch)
tree63cb777b9f671ed56f130a3bae67ddd9d591bbaa /src/positioning/qgeopositioninfosource.cpp
parenta756c0a88b43c4b7251d6b2b95acddbe3af26932 (diff)
downloadqtlocation-fad740822e13225f9cd9d567a346b4f2b7d6f65a.tar.gz
fix expensive iteration over QMap::keys(), QHash::keys()
... and QJsonObject::keys() Change-Id: I9a8ba44406a1e2cbdfffd266d2b5cb664f7440fc Reviewed-by: Laszlo Agocs <laszlo.agocs@theqtcompany.com>
Diffstat (limited to 'src/positioning/qgeopositioninfosource.cpp')
-rw-r--r--src/positioning/qgeopositioninfosource.cpp10
1 files changed, 5 insertions, 5 deletions
diff --git a/src/positioning/qgeopositioninfosource.cpp b/src/positioning/qgeopositioninfosource.cpp
index 0cec8eaa..48cb27ad 100644
--- a/src/positioning/qgeopositioninfosource.cpp
+++ b/src/positioning/qgeopositioninfosource.cpp
@@ -329,11 +329,11 @@ QGeoPositionInfoSource *QGeoPositionInfoSource::createSource(const QString &sour
QStringList QGeoPositionInfoSource::availableSources()
{
QStringList plugins;
- QHash<QString, QJsonObject> meta = QGeoPositionInfoSourcePrivate::plugins();
- foreach (const QString &name, meta.keys()) {
- if (meta.value(name).value(QStringLiteral("Position")).isBool()
- && meta.value(name).value(QStringLiteral("Position")).toBool()) {
- plugins << name;
+ const QHash<QString, QJsonObject> meta = QGeoPositionInfoSourcePrivate::plugins();
+ for (auto it = meta.cbegin(), end = meta.cend(); it != end; ++it) {
+ if (it.value().value(QStringLiteral("Position")).isBool()
+ && it.value().value(QStringLiteral("Position")).toBool()) {
+ plugins << it.key();
}
}