aboutsummaryrefslogtreecommitdiffstats
path: root/src/qml/qml/qqmlimport.cpp
diff options
context:
space:
mode:
authorUlf Hermann <ulf.hermann@qt.io>2021-08-18 09:54:06 +0200
committerQt Cherry-pick Bot <cherrypick_bot@qt-project.org>2021-08-19 12:42:05 +0000
commitdccccaf53b8da87ee4fb59d688017e65a10eb983 (patch)
tree8e5028189e421d1f4658fb8e5e11788067a53660 /src/qml/qml/qqmlimport.cpp
parent240da0de09228da1925b1bdafe7b67987d3013eb (diff)
Allow import of modules with only C++ types built into the binary
Check if the module provides a .qmltypes file. If so, we assume that there are some C++ types to be imported. Change-Id: Iad15d9c834c9bcebd76a62926620902031493557 Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io> (cherry picked from commit 358976b7ad28226136d3ac04260f82e88dbf784a) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
Diffstat (limited to 'src/qml/qml/qqmlimport.cpp')
-rw-r--r--src/qml/qml/qqmlimport.cpp8
1 files changed, 6 insertions, 2 deletions
diff --git a/src/qml/qml/qqmlimport.cpp b/src/qml/qml/qqmlimport.cpp
index a5c11fa2f2..7088d25192 100644
--- a/src/qml/qml/qqmlimport.cpp
+++ b/src/qml/qml/qqmlimport.cpp
@@ -1369,8 +1369,12 @@ QTypeRevision QQmlImportsPrivate::addLibraryImport(
return matchingVersion;
if (inserted->qmlDirComponents.isEmpty() && inserted->qmlDirScripts.isEmpty()) {
- if (qmldir.plugins().isEmpty() && !qmldir.imports().isEmpty())
- return validVersion(); // This is a pure redirection
+ if (qmldir.plugins().isEmpty()) {
+ if (!qmldir.imports().isEmpty())
+ return validVersion(); // This is a pure redirection
+ if (qmldir.hasTypeInfo())
+ return validVersion(); // A pure C++ module without plugin
+ }
errors->prepend(moduleNotFoundError(uri, relevantVersion(uri, version)));
return QTypeRevision();
} else if (qmldir.hasContent()) {