aboutsummaryrefslogtreecommitdiffstats
path: root/src/qml/qml
diff options
context:
space:
mode:
authorFabian Kosmale <fabian.kosmale@qt.io>2021-01-14 11:42:20 +0100
committerFabian Kosmale <fabian.kosmale@qt.io>2021-01-15 13:10:22 +0000
commitae8fb3800ac880bfa9805f9163709d96b66b7788 (patch)
tree8d03a88eea6fd74f69c47566cd95d559bddf2144 /src/qml/qml
parent0b5ae19f733c7d59e6138c677fe432a0e6f25938 (diff)
QQmlComponent: Avoid crash when setting initial properties in JS module
In a JS module, we lack a qml context. Thus, we have to check whether qmlContext is null. In that case we use the engine's scriptContext('s ExecutionContext) instead. Fixes: QTBUG-90245 Change-Id: I337e9c7cade472f52fc81c93d1152ff59f8018a5 Reviewed-by: Ulf Hermann <ulf.hermann@qt.io> (cherry picked from commit e68b498424f63c1cb6151e4fc6bbc50bac584909)
Diffstat (limited to 'src/qml/qml')
-rw-r--r--src/qml/qml/qqmlcomponent.cpp3
1 files changed, 2 insertions, 1 deletions
diff --git a/src/qml/qml/qqmlcomponent.cpp b/src/qml/qml/qqmlcomponent.cpp
index 279befb351..f35c3011d3 100644
--- a/src/qml/qml/qqmlcomponent.cpp
+++ b/src/qml/qml/qqmlcomponent.cpp
@@ -1369,7 +1369,8 @@ void QQmlComponentPrivate::setInitialProperties(QV4::ExecutionEngine *engine, QV
if (engine->hasException)
return;
- QV4::ScopedStackFrame frame(scope, qmlContext->d());
+ // js modules (mjs) have no qmlContext
+ QV4::ScopedStackFrame frame(scope, qmlContext ? qmlContext->d() : engine->scriptContext()->d());
while (1) {
name = it.nextPropertyNameAsString(val);