diff options
author | Ulf Hermann <ulf.hermann@qt.io> | 2024-01-05 14:08:32 +0100 |
---|---|---|
committer | Ulf Hermann <ulf.hermann@qt.io> | 2024-01-11 00:42:17 +0100 |
commit | 7a9a778604a03473b6c4ef8a481ba3cc06d48265 (patch) | |
tree | 52ba86a5f11a8dab39e194439f743f294d0ffc6f /src/qml/types/qqmlbind.cpp | |
parent | 5eba4080511a006d10fc86d141d3f0f5abf0b8f8 (diff) |
QtQml: Remove QQmlTypeLoader from QQmlImport
The type loader belongs to the engine and we must not store it in
engine-independent data structures. We do want the import cache to be
stored in the type registry, though (in a separate change).
Change-Id: I2828f5098b27bf1fc96852fc2bd160db44b109e7
Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
Diffstat (limited to 'src/qml/types/qqmlbind.cpp')
-rw-r--r-- | src/qml/types/qqmlbind.cpp | 16 |
1 files changed, 9 insertions, 7 deletions
diff --git a/src/qml/types/qqmlbind.cpp b/src/qml/types/qqmlbind.cpp index cb2da29c10..1386c3ae39 100644 --- a/src/qml/types/qqmlbind.cpp +++ b/src/qml/types/qqmlbind.cpp @@ -780,14 +780,16 @@ void QQmlBindPrivate::decodeBinding( Q_ASSERT(typeReference); QQmlType attachedType = typeReference->type(); if (!attachedType.isValid()) { - const QQmlTypeNameCache::Result result - = deferredData->context->imports()->query(propertySuffix); - if (!result.isValid()) { - qmlWarning(q).nospace() - << "Unknown name " << propertySuffix << ". The binding is ignored."; - return; + if (QQmlTypeLoader *typeLoader = compilationUnit->engine->typeLoader()) { + const QQmlTypeNameCache::Result result + = deferredData->context->imports()->query(propertySuffix, typeLoader); + if (!result.isValid()) { + qmlWarning(q).nospace() + << "Unknown name " << propertySuffix << ". The binding is ignored."; + return; + } + attachedType = result.type; } - attachedType = result.type; } QQmlContext *context = qmlContext(q); |