aboutsummaryrefslogtreecommitdiffstats
path: root/src/declarative/qml/qdeclarativemetatype.cpp
diff options
context:
space:
mode:
authorMartin Jones <martin.jones@nokia.com>2011-07-20 14:03:03 +1000
committerQt by Nokia <qt-info@nokia.com>2011-08-30 13:18:28 +0200
commita6da3b26f5959986010deb85703cd51a0edb48e0 (patch)
tree1507b87e563972a3e3aef2dafe59faec1cb7815e /src/declarative/qml/qdeclarativemetatype.cpp
parent8c8eca45166a4759859f46d8536eea5e93663ae5 (diff)
Optimizations to imports.
Change-Id: If4a51ad3b7c0ecc2261eea1d07a949119c3ad860 Reviewed-on: http://codereview.qt.nokia.com/3754 Reviewed-by: Roberto Raggi <roberto.raggi@nokia.com> Reviewed-by: Qt Sanity Bot <qt_sanity_bot@ovi.com>
Diffstat (limited to 'src/declarative/qml/qdeclarativemetatype.cpp')
-rw-r--r--src/declarative/qml/qdeclarativemetatype.cpp10
1 files changed, 6 insertions, 4 deletions
diff --git a/src/declarative/qml/qdeclarativemetatype.cpp b/src/declarative/qml/qdeclarativemetatype.cpp
index bd4b935483..e0bef56426 100644
--- a/src/declarative/qml/qdeclarativemetatype.cpp
+++ b/src/declarative/qml/qdeclarativemetatype.cpp
@@ -1250,12 +1250,14 @@ QDeclarativeType *QDeclarativeMetaType::qmlType(const QByteArray &name, int vers
QReadLocker lock(metaTypeDataLock());
QDeclarativeMetaTypeData *data = metaTypeData();
- QList<QDeclarativeType*> types = data->nameToType.values(name);
- foreach (QDeclarativeType *t, types) {
+ QDeclarativeMetaTypeData::Names::ConstIterator it = data->nameToType.find(name);
+ while (it != data->nameToType.end()) {
// XXX version_major<0 just a kludge for QDeclarativePropertyPrivate::initProperty
- if (version_major<0 || t->availableInVersion(version_major,version_minor))
- return t;
+ if (version_major<0 || (*it)->availableInVersion(version_major,version_minor))
+ return (*it);
+ ++it;
}
+
return 0;
}