diff options
author | Lars Knoll <lars.knoll@digia.com> | 2013-09-18 16:36:02 +0200 |
---|---|---|
committer | The Qt Project <gerrit-noreply@qt-project.org> | 2013-09-22 01:06:20 +0200 |
commit | df5edd28bc4258b89d9d5ffdddf837f339a17aad (patch) | |
tree | 2a5939d5e3c49928aadf43337832d3ef5a58df08 /src/qml/types | |
parent | 700ba1bcb39e082049c96fafdfaccfe5d83cd77e (diff) |
convert Managed::put() API to be GC safe
Change-Id: I09198ce372fa545372db389fac26828d21ad5731
Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
Diffstat (limited to 'src/qml/types')
-rw-r--r-- | src/qml/types/qquickworkerscript.cpp | 10 |
1 files changed, 5 insertions, 5 deletions
diff --git a/src/qml/types/qquickworkerscript.cpp b/src/qml/types/qquickworkerscript.cpp index d60f7b213d..02fae8c292 100644 --- a/src/qml/types/qquickworkerscript.cpp +++ b/src/qml/types/qquickworkerscript.cpp @@ -147,7 +147,7 @@ public: QQuickWorkerScriptEnginePrivate *p; - QV4::Value sendFunction(int id); + QV4::ReturnedValue sendFunction(int id); QV4::PersistentValue onmessage; private: @@ -242,7 +242,7 @@ void QQuickWorkerScriptEnginePrivate::WorkerEngine::init() } // Requires handle and context scope -QV4::Value QQuickWorkerScriptEnginePrivate::WorkerEngine::sendFunction(int id) +QV4::ReturnedValue QQuickWorkerScriptEnginePrivate::WorkerEngine::sendFunction(int id) { QV4::FunctionObject *f = createsend.value().asFunctionObject(); QV4::ExecutionContext *ctx = f->engine()->current; @@ -258,7 +258,7 @@ QV4::Value QQuickWorkerScriptEnginePrivate::WorkerEngine::sendFunction(int id) e.accept(ctx); v = e.value(); } - return v; + return v.asReturnedValue(); } QNetworkAccessManager *QQuickWorkerScriptEnginePrivate::WorkerEngine::networkAccessManager() @@ -313,9 +313,9 @@ QV4::ReturnedValue QQuickWorkerScriptEnginePrivate::getWorker(WorkerScript *scri w->setReadOnly(false); QV4::Scoped<QV4::Object> api(scope, v4->newObject()); - api->put(v4->newString("sendMessage"), workerEngine->sendFunction(script->id)); + api->put(QV4::ScopedString(scope, v4->newString("sendMessage")), QV4::ScopedValue(scope, workerEngine->sendFunction(script->id))); - script->object.value().asObject()->put(v4->newString("WorkerScript"), api.asValue()); + script->object.value().asObject()->put(QV4::ScopedString(scope, v4->newString("WorkerScript")), api); w->setReadOnly(true); } |