diff options
author | Lars Knoll <[email protected]> | 2013-09-12 22:37:41 +0200 |
---|---|---|
committer | The Qt Project <[email protected]> | 2013-09-18 13:13:55 +0200 |
commit | a2d115fbaffee282a1d32ed92c6700e6c3dd811b (patch) | |
tree | 7694e53751edd605d99d1d8eb19c9cd5d6d8188a /src/qml/jsapi/qjsengine.cpp | |
parent | 399f88f6b75bb842be8e9d3671ace5114e115542 (diff) |
Convert most remaining return values from Value to ReturnedValue
Change-Id: If8b0c3b91be50678693868c10fefc3678008834d
Reviewed-by: Simon Hausmann <[email protected]>
Diffstat (limited to 'src/qml/jsapi/qjsengine.cpp')
-rw-r--r-- | src/qml/jsapi/qjsengine.cpp | 8 |
1 files changed, 5 insertions, 3 deletions
diff --git a/src/qml/jsapi/qjsengine.cpp b/src/qml/jsapi/qjsengine.cpp index 7bc8b80396..0f291d7c98 100644 --- a/src/qml/jsapi/qjsengine.cpp +++ b/src/qml/jsapi/qjsengine.cpp @@ -327,8 +327,10 @@ QJSValue QJSEngine::newQObject(QObject *object) { Q_D(QJSEngine); QV4::ExecutionEngine *v4 = QV8Engine::getV4(d); + QV4::Scope scope(v4); QQmlEngine::setObjectOwnership(object, QQmlEngine::JavaScriptOwnership); - return new QJSValuePrivate(v4, QV4::QObjectWrapper::wrap(v4, object)); + QV4::ScopedValue v(scope, QV4::QObjectWrapper::wrap(v4, object)); + return new QJSValuePrivate(v4, v); } /*! @@ -353,7 +355,7 @@ QJSValue QJSEngine::globalObject() const QJSValue QJSEngine::create(int type, const void *ptr) { Q_D(QJSEngine); - return new QJSValuePrivate(d->m_v4Engine, d->metaTypeToJS(type, ptr)); + return new QJSValuePrivate(d->m_v4Engine, QV4::Value::fromReturnedValue(d->metaTypeToJS(type, ptr))); } /*! @@ -365,7 +367,7 @@ bool QJSEngine::convertV2(const QJSValue &value, int type, void *ptr) QJSValuePrivate *vp = QJSValuePrivate::get(value); QV8Engine *engine = vp->engine ? vp->engine->v8Engine : 0; if (engine) { - return engine->metaTypeFromJS(vp->getValue(engine->m_v4Engine), type, ptr); + return engine->metaTypeFromJS(QV4::Value::fromReturnedValue(vp->getValue(engine->m_v4Engine)), type, ptr); } else { switch (type) { case QMetaType::Bool: |