diff options
author | Lars Knoll <lars.knoll@digia.com> | 2013-09-24 15:25:10 +0200 |
---|---|---|
committer | The Qt Project <gerrit-noreply@qt-project.org> | 2013-09-26 09:05:32 +0200 |
commit | 74807c0725ad6ef6ccd49611bb9f4f994cddf106 (patch) | |
tree | 9f1d08155a46bdbef45390b3a017ea6f7a430700 /src/qml/jsruntime/qv4variantobject.cpp | |
parent | 9062476491dd1c81f63bb7a3ae6e6a080db1db1e (diff) |
Move more API over to use ValueRef
Change-Id: I372f1f3e3e78d45912a913f437e622e0acfc9646
Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
Diffstat (limited to 'src/qml/jsruntime/qv4variantobject.cpp')
-rw-r--r-- | src/qml/jsruntime/qv4variantobject.cpp | 27 |
1 files changed, 14 insertions, 13 deletions
diff --git a/src/qml/jsruntime/qv4variantobject.cpp b/src/qml/jsruntime/qv4variantobject.cpp index 97dcee2fde..de72de2f07 100644 --- a/src/qml/jsruntime/qv4variantobject.cpp +++ b/src/qml/jsruntime/qv4variantobject.cpp @@ -69,24 +69,25 @@ VariantObject::VariantObject(ExecutionEngine *engine, const QVariant &value) internalClass->engine->scarceResources.insert(this); } -QVariant VariantObject::toVariant(const QV4::Value &v) +QVariant VariantObject::toVariant(const QV4::ValueRef v) { - if (Object *o = v.asObject()) - return o->engine()->v8Engine->variantFromJS(v); - - if (v.isString()) - return QVariant(v.stringValue()->toQString()); - if (v.isBoolean()) - return QVariant(v.booleanValue()); - if (v.isNumber()) { - QV4::Value val = v; + if (v->asObject()) + return v->engine()->v8Engine->variantFromJS(v); + + if (v->isString()) + return QVariant(v->stringValue()->toQString()); + if (v->isBoolean()) + return QVariant(v->booleanValue()); + if (v->isNumber()) { + QV4::SafeValue val; + val = v; if (val.isInt32()) return QVariant(val.integerValue()); - return QVariant(v.asDouble()); + return QVariant(v->asDouble()); } - if (v.isNull()) + if (v->isNull()) return QVariant(QMetaType::VoidStar, 0); - Q_ASSERT(v.isUndefined()); + Q_ASSERT(v->isUndefined()); return QVariant(); } |