aboutsummaryrefslogtreecommitdiffstats
path: root/src/qml/types/qquickworkerscript.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/qml/types/qquickworkerscript.cpp')
-rw-r--r--src/qml/types/qquickworkerscript.cpp7
1 files changed, 4 insertions, 3 deletions
diff --git a/src/qml/types/qquickworkerscript.cpp b/src/qml/types/qquickworkerscript.cpp
index 42548e6ad6..481bc110e8 100644
--- a/src/qml/types/qquickworkerscript.cpp
+++ b/src/qml/types/qquickworkerscript.cpp
@@ -228,13 +228,14 @@ void QQuickWorkerScriptEnginePrivate::WorkerEngine::init()
"}); "\
"})"
+ QV4::ValueScope scope(m_v4Engine);
onmessage = QV4::Script(m_v4Engine->rootContext, CALL_ONMESSAGE_SCRIPT).run();
QV4::Script createsendscript(m_v4Engine->rootContext, SEND_MESSAGE_CREATE_SCRIPT);
QV4::FunctionObject *createsendconstructor = createsendscript.run().asFunctionObject();
QV4::Value function = QV4::Value::fromObject(m_v4Engine->newBuiltinFunction(m_v4Engine->rootContext, m_v4Engine->newString(QStringLiteral("sendMessage")),
QQuickWorkerScriptEnginePrivate::sendMessage));
- QV4::ScopedCallData callData(m_v4Engine, 1);
+ QV4::ScopedCallData callData(scope, 1);
callData->args[0] = function;
callData->thisObject = global();
createsend = createsendconstructor->call(callData);
@@ -249,7 +250,7 @@ QV4::Value QQuickWorkerScriptEnginePrivate::WorkerEngine::sendFunction(int id)
QV4::ScopedValue v(scope);
try {
- QV4::ScopedCallData callData(m_v4Engine, 1);
+ QV4::ScopedCallData callData(scope, 1);
callData->args[0] = QV4::Value::fromInt32(id);
callData->thisObject = global();
v = f->call(callData);
@@ -355,7 +356,7 @@ void QQuickWorkerScriptEnginePrivate::processMessage(int id, const QByteArray &d
QV4::ScopedValue value(scope, QV4::Serialize::deserialize(data, workerEngine));
try {
- QV4::ScopedCallData callData(ctx->engine, 2);
+ QV4::ScopedCallData callData(scope, 2);
callData->thisObject = workerEngine->global();
callData->args[0] = script->object.value();
callData->args[1] = value;