aboutsummaryrefslogtreecommitdiffstats
path: root/src/quick/util
diff options
context:
space:
mode:
authorLars Knoll <lars.knoll@digia.com>2013-09-24 12:13:42 +0200
committerThe Qt Project <gerrit-noreply@qt-project.org>2013-09-26 09:05:19 +0200
commita57085f00b146798a0cca0d52dfa127232c3e659 (patch)
tree7b4df3f155d431aeb6f3aae01943a3411c812a7b /src/quick/util
parent12fd2ccd3fa2dc0133b5a3fb89f9fdf5cf721232 (diff)
Fix API of QQmlV4Handle
Change-Id: Iac4a3fefebd33a5990408598486231a5add8e639 Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
Diffstat (limited to 'src/quick/util')
-rw-r--r--src/quick/util/qquickglobal.cpp24
1 files changed, 14 insertions, 10 deletions
diff --git a/src/quick/util/qquickglobal.cpp b/src/quick/util/qquickglobal.cpp
index cf3d9acfa3..ea0b85c9ff 100644
--- a/src/quick/util/qquickglobal.cpp
+++ b/src/quick/util/qquickglobal.cpp
@@ -317,15 +317,15 @@ public:
if (ok) *ok = false;
QFont retn;
- QV4::Object *obj = object.toValue().asObject();
+ QV4::ExecutionEngine *v4 = QV8Engine::getV4(e);
+ QV4::Scope scope(v4);
+ QV4::ScopedObject obj(scope, object);
if (!obj) {
if (ok)
*ok = false;
return retn;
}
- QV4::ExecutionEngine *v4 = obj->engine();
- QV4::Scope scope(v4);
QV4::ScopedString s(scope);
QV4::Value vbold = QV4::Value::fromReturnedValue(obj->get((s = v4->newString(QStringLiteral("bold")))));
@@ -389,15 +389,15 @@ public:
return retn;
}
- static QMatrix4x4 matrix4x4FromObject(QQmlV4Handle object, bool *ok)
+ static QMatrix4x4 matrix4x4FromObject(QQmlV4Handle object, QV8Engine *e, bool *ok)
{
if (ok) *ok = false;
- QV4::ArrayObject *array = object.toValue().asArrayObject();
+ QV4::ExecutionEngine *v4 = QV8Engine::getV4(e);
+ QV4::Scope scope(v4);
+ QV4::ScopedArrayObject array(scope, object);
if (!array)
return QMatrix4x4();
- QV4::Scope scope(array->engine());
-
if (array->arrayLength() != 16)
return QMatrix4x4();
@@ -763,15 +763,19 @@ public:
bool variantFromJsObject(int type, QQmlV4Handle object, QV8Engine *e, QVariant *v)
{
- // must be called with a valid v8 context.
- Q_ASSERT(object.toValue().isObject());
+ QV4::ExecutionEngine *v4 = QV8Engine::getV4(e);
+ QV4::Scope scope(v4);
+#ifndef QT_NO_DEBUG
+ QV4::ScopedObject obj(scope, object);
+ Q_ASSERT(obj);
+#endif
bool ok = false;
switch (type) {
case QMetaType::QFont:
*v = QVariant::fromValue(fontFromObject(object, e, &ok));
break;
case QMetaType::QMatrix4x4:
- *v = QVariant::fromValue(matrix4x4FromObject(object, &ok));
+ *v = QVariant::fromValue(matrix4x4FromObject(object, e, &ok));
default: break;
}