diff options
Diffstat (limited to 'src/qml/qml/qqmltypemodule.cpp')
-rw-r--r-- | src/qml/qml/qqmltypemodule.cpp | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/src/qml/qml/qqmltypemodule.cpp b/src/qml/qml/qqmltypemodule.cpp index 9c9bf3e48f..9d6f269030 100644 --- a/src/qml/qml/qqmltypemodule.cpp +++ b/src/qml/qml/qqmltypemodule.cpp @@ -97,10 +97,14 @@ void QQmlTypeModule::add(QQmlTypePrivate *type) QList<QQmlTypePrivate *> &list = d->typeHash[type->elementName]; for (int ii = 0; ii < list.count(); ++ii) { - Q_ASSERT(list.at(ii)); - if (list.at(ii)->version_min < type->version_min) { + QQmlTypePrivate *in_list = list.at(ii); + Q_ASSERT(in_list); + if (in_list->version_min < type->version_min) { list.insert(ii, type); return; + } else if (in_list->version_min == type->version_min) { + list[ii] = type; + return; } } list.append(type); |