diff options
author | Martin Jones <martin.jones@nokia.com> | 2011-07-20 14:03:03 +1000 |
---|---|---|
committer | Qt by Nokia <qt-info@nokia.com> | 2011-08-30 13:18:28 +0200 |
commit | a6da3b26f5959986010deb85703cd51a0edb48e0 (patch) | |
tree | 1507b87e563972a3e3aef2dafe59faec1cb7815e /src/declarative/qml/qdeclarativemetatype.cpp | |
parent | 8c8eca45166a4759859f46d8536eea5e93663ae5 (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.cpp | 10 |
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; } |