aboutsummaryrefslogtreecommitdiffstats
path: root/src/qml/jsruntime/qv4function.cpp
diff options
context:
space:
mode:
authorUlf Hermann <ulf.hermann@qt.io>2024-01-05 14:08:32 +0100
committerUlf Hermann <ulf.hermann@qt.io>2024-01-11 00:42:17 +0100
commit7a9a778604a03473b6c4ef8a481ba3cc06d48265 (patch)
tree52ba86a5f11a8dab39e194439f743f294d0ffc6f /src/qml/jsruntime/qv4function.cpp
parent5eba4080511a006d10fc86d141d3f0f5abf0b8f8 (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/jsruntime/qv4function.cpp')
-rw-r--r--src/qml/jsruntime/qv4function.cpp9
1 files changed, 7 insertions, 2 deletions
diff --git a/src/qml/jsruntime/qv4function.cpp b/src/qml/jsruntime/qv4function.cpp
index ced169407a..7283565489 100644
--- a/src/qml/jsruntime/qv4function.cpp
+++ b/src/qml/jsruntime/qv4function.cpp
@@ -136,6 +136,8 @@ Function::Function(ExecutionEngine *engine, ExecutableCompilationUnit *unit,
JSTypedFunction *synthesized = new JSTypedFunction;
+ QQmlTypeLoader *typeLoader = engine->typeLoader();
+
auto findQmlType = [&](const CompiledData::ParameterType &param) {
const quint32 type = param.typeNameIndexOrCommonType();
if (param.indexIsCommonType()) {
@@ -146,8 +148,11 @@ Function::Function(ExecutionEngine *engine, ExecutableCompilationUnit *unit,
if (type == 0)
return QQmlType();
- const QQmlType qmltype = unit->typeNameCache->query<QQmlImport::AllowRecursion>(
- unit->stringAt(type)).type;
+ const QQmlType qmltype = typeLoader
+ ? unit->typeNameCache->query<QQmlImport::AllowRecursion>(
+ unit->stringAt(type), typeLoader).type
+ : QQmlType();
+
if (!qmltype.isValid() || qmltype.typeId().isValid())
return qmltype;