diff options
Diffstat (limited to 'src/qml/jsapi')
-rw-r--r-- | src/qml/jsapi/qjsengine.cpp | 4 | ||||
-rw-r--r-- | src/qml/jsapi/qjsvalue.cpp | 4 |
2 files changed, 5 insertions, 3 deletions
diff --git a/src/qml/jsapi/qjsengine.cpp b/src/qml/jsapi/qjsengine.cpp index 59a6a14e81..57647a49d3 100644 --- a/src/qml/jsapi/qjsengine.cpp +++ b/src/qml/jsapi/qjsengine.cpp @@ -375,7 +375,9 @@ 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(QV4::Value::fromReturnedValue(vp->getValue(engine->m_v4Engine)), type, ptr); + QV4::Scope scope(engine->m_v4Engine); + QV4::ScopedValue v(scope, vp->getValue(engine->m_v4Engine)); + return engine->metaTypeFromJS(v, type, ptr); } else { switch (type) { case QMetaType::Bool: diff --git a/src/qml/jsapi/qjsvalue.cpp b/src/qml/jsapi/qjsvalue.cpp index 9c06f403b5..a22f77b2b0 100644 --- a/src/qml/jsapi/qjsvalue.cpp +++ b/src/qml/jsapi/qjsvalue.cpp @@ -1021,11 +1021,11 @@ bool QJSValue::hasOwnProperty(const QString &name) const */ QObject *QJSValue::toQObject() const { - QV4::QObjectWrapper *o = d->value.as<QV4::QObjectWrapper>(); + Returned<QV4::QObjectWrapper> *o = d->value.as<QV4::QObjectWrapper>(); if (!o) return 0; - return o->object(); + return o->getPointer()->object(); } /*! |