aboutsummaryrefslogtreecommitdiffstats
path: root/src/qml/jsruntime/qv4variantobject.cpp
diff options
context:
space:
mode:
authorLars Knoll <lars.knoll@digia.com>2013-09-24 15:25:10 +0200
committerThe Qt Project <gerrit-noreply@qt-project.org>2013-09-26 09:05:32 +0200
commit74807c0725ad6ef6ccd49611bb9f4f994cddf106 (patch)
tree9f1d08155a46bdbef45390b3a017ea6f7a430700 /src/qml/jsruntime/qv4variantobject.cpp
parent9062476491dd1c81f63bb7a3ae6e6a080db1db1e (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.cpp27
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();
}