diff options
author | Lars Knoll <lars.knoll@theqtcompany.com> | 2015-08-20 22:02:11 +0200 |
---|---|---|
committer | Lars Knoll <lars.knoll@theqtcompany.com> | 2015-09-09 14:28:31 +0000 |
commit | 1079dbbdd96c517eed3269e4a5e18f18a6808be0 (patch) | |
tree | 6e0aa988e2996196701c5728323b86ea49f5074d /src/qml/types/qquickworkerscript.cpp | |
parent | 08a7ae47c24c1378cb39d0c796fcc37cc0c62b32 (diff) |
Pass a QmlContext to QV4::Script instead of a contextwrapper
Change-Id: Ia8db166aacbbe6e8f588179dffa04e2dce9566cb
Reviewed-by: Simon Hausmann <simon.hausmann@theqtcompany.com>
Diffstat (limited to 'src/qml/types/qquickworkerscript.cpp')
-rw-r--r-- | src/qml/types/qquickworkerscript.cpp | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/src/qml/types/qquickworkerscript.cpp b/src/qml/types/qquickworkerscript.cpp index 0aa5dc4ef6..09e2709b2d 100644 --- a/src/qml/types/qquickworkerscript.cpp +++ b/src/qml/types/qquickworkerscript.cpp @@ -382,13 +382,14 @@ void QQuickWorkerScriptEnginePrivate::processLoad(int id, const QUrl &url) return; script->source = url; - QV4::ScopedObject activation(scope, getWorker(script)); + QV4::Scoped<QV4::QmlContextWrapper> activation(scope, getWorker(script)); if (!activation) return; + QV4::Scoped<QV4::QmlContext> qmlContext(scope, v4->rootContext()->newQmlContext(activation)); if (const QQmlPrivate::CachedQmlUnit *cachedUnit = QQmlMetaType::findCachedCompilationUnit(url)) { QV4::CompiledData::CompilationUnit *jsUnit = cachedUnit->createCompilationUnit(); - program.reset(new QV4::Script(v4, activation, jsUnit)); + program.reset(new QV4::Script(v4, qmlContext, jsUnit)); } else { QFile f(fileName); if (!f.open(QIODevice::ReadOnly)) { @@ -400,7 +401,7 @@ void QQuickWorkerScriptEnginePrivate::processLoad(int id, const QUrl &url) QString sourceCode = QString::fromUtf8(data); QmlIR::Document::removeScriptPragmas(sourceCode); - program.reset(new QV4::Script(v4, activation, sourceCode, url.toString())); + program.reset(new QV4::Script(v4, qmlContext, sourceCode, url.toString())); program->parse(); } |