diff options
-rw-r--r-- | src/libs/qmljs/qmljsinterpreter.cpp | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/src/libs/qmljs/qmljsinterpreter.cpp b/src/libs/qmljs/qmljsinterpreter.cpp index 5b9c3d2fd9..b7f2a915c2 100644 --- a/src/libs/qmljs/qmljsinterpreter.cpp +++ b/src/libs/qmljs/qmljsinterpreter.cpp @@ -1487,6 +1487,7 @@ QList<const CppComponentValue *> CppQmlTypes::createObjectsForImport(const QStri if (m_objectsByQualifiedName.contains(key)) continue; + ComponentVersion cppVersion; foreach (const FakeMetaObject::Export &bestExport, bestExports) { QString name = bestExport.type; bool exported = true; @@ -1501,7 +1502,10 @@ QList<const CppComponentValue *> CppQmlTypes::createObjectsForImport(const QStri fmoo.originId); // use package.cppname importversion as key - m_objectsByQualifiedName.insert(key, newComponent); + if (cppVersion <= bestExport.version) { + cppVersion = bestExport.version; + m_objectsByQualifiedName.insert(key, newComponent); + } if (exported) { if (!exportedObjects.contains(name) // we might have the same type in different versions || (newComponent->componentVersion() > exportedObjects.value(name)->componentVersion())) |