aboutsummaryrefslogtreecommitdiffstats
path: root/src/qml/jsapi/qjsvalue.cpp
diff options
context:
space:
mode:
authorLars Knoll <lars.knoll@theqtcompany.com>2015-01-01 15:24:33 +0100
committerLars Knoll <lars.knoll@digia.com>2015-01-09 10:27:52 +0100
commit8a779f65ae3fb830415b9f39d803be57b7f56d50 (patch)
tree09f6ce75d96fd5f6831893557f192c48c7e478d8 /src/qml/jsapi/qjsvalue.cpp
parent2569b795c527ea4c875e68cfeca382d5a9d128af (diff)
This method is only used one place, so inline it there
Change-Id: Ia8b75965208c9687163ddaf982c4081c1ee504d4 Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
Diffstat (limited to 'src/qml/jsapi/qjsvalue.cpp')
-rw-r--r--src/qml/jsapi/qjsvalue.cpp17
1 files changed, 16 insertions, 1 deletions
diff --git a/src/qml/jsapi/qjsvalue.cpp b/src/qml/jsapi/qjsvalue.cpp
index 4cfae02e9a..11b7dad8eb 100644
--- a/src/qml/jsapi/qjsvalue.cpp
+++ b/src/qml/jsapi/qjsvalue.cpp
@@ -516,7 +516,22 @@ QVariant QJSValue::toVariant() const
if (d->value.isEmpty())
return d->unboundData;
- return QV4::VariantObject::toVariant(d->value);
+ if (d->value.asObject())
+ return QV8Engine::toVariant(d->value.engine(), d->value, /*typeHint*/ -1, /*createJSValueForObjects*/ false);
+
+ if (d->value.isString())
+ return QVariant(d->value.stringValue()->toQString());
+ if (d->value.isBoolean())
+ return QVariant(d->value.booleanValue());
+ if (d->value.isNumber()) {
+ if (d->value.isInt32())
+ return QVariant(d->value.integerValue());
+ return QVariant(d->value.asDouble());
+ }
+ if (d->value.isNull())
+ return QVariant(QMetaType::VoidStar, 0);
+ Q_ASSERT(d->value.isUndefined());
+ return QVariant();
}
/*!