aboutsummaryrefslogtreecommitdiffstats
path: root/src/qml
diff options
context:
space:
mode:
authorUlf Hermann <ulf.hermann@qt.io>2020-09-18 14:43:04 +0200
committerUlf Hermann <ulf.hermann@qt.io>2020-09-23 14:54:47 +0200
commit548124fd008501d027f1aeb1fb9de03de233b320 (patch)
tree2e89e22945c12da9a64c9b18c993bc1276740790 /src/qml
parent20a1002fba8c14514f5a40a9c468adb4c84410d3 (diff)
Remove QQmlValueTypeProvider::variantFromJsObject
This can be expressed in terms of create(). Change-Id: Id1950390bf4a1c9dfd9364ea351b81c75eb7e28f Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
Diffstat (limited to 'src/qml')
-rw-r--r--src/qml/qml/qqmlglobal.cpp6
-rw-r--r--src/qml/qml/qqmlglobal_p.h3
-rw-r--r--src/qml/qml/v8/qqmlbuiltinfunctions.cpp9
3 files changed, 9 insertions, 9 deletions
diff --git a/src/qml/qml/qqmlglobal.cpp b/src/qml/qml/qqmlglobal.cpp
index 0291701164..558da1d64b 100644
--- a/src/qml/qml/qqmlglobal.cpp
+++ b/src/qml/qml/qqmlglobal.cpp
@@ -109,14 +109,13 @@ QVariant QQmlValueTypeProvider::createVariantFromString(int type, const QString
return QVariant();
}
-QVariant QQmlValueTypeProvider::createVariantFromJsObject(int type, const QV4::Value &obj,
- QV4::ExecutionEngine *e, bool *ok)
+QVariant QQmlValueTypeProvider::createVariantFromJsObject(int type, const QJSValue &obj, bool *ok)
{
QVariant v;
QQmlValueTypeProvider *p = this;
do {
- if (p->variantFromJsObject(type, obj, e, &v)) {
+ if (p->create(type, obj, &v)) {
if (ok) *ok = true;
return v;
}
@@ -172,7 +171,6 @@ bool QQmlValueTypeProvider::writeValueType(int type, const void *src, QVariant&
bool QQmlValueTypeProvider::create(int, const QJSValue &, QVariant *) { return false; }
bool QQmlValueTypeProvider::createFromString(int, const QString &, void *, size_t) { return false; }
bool QQmlValueTypeProvider::variantFromString(int, const QString &, QVariant *) { return false; }
-bool QQmlValueTypeProvider::variantFromJsObject(int, const QV4::Value &, QV4::ExecutionEngine *, QVariant *) { return false; }
bool QQmlValueTypeProvider::store(int, const void *, void *, size_t) { return false; }
struct ValueTypeProviderList {
diff --git a/src/qml/qml/qqmlglobal_p.h b/src/qml/qml/qqmlglobal_p.h
index 707fc0ea1c..a0efca8688 100644
--- a/src/qml/qml/qqmlglobal_p.h
+++ b/src/qml/qml/qqmlglobal_p.h
@@ -228,7 +228,7 @@ public:
bool createValueFromString(int, const QString &, void *, size_t);
QVariant createVariantFromString(int, const QString &, bool *);
- QVariant createVariantFromJsObject(int, const QV4::Value &, QV4::ExecutionEngine *, bool *);
+ QVariant createVariantFromJsObject(int, const QJSValue &, bool *);
bool equalValueType(int, const void *, const QVariant&);
bool storeValueType(int, const void *, void *, size_t);
@@ -240,7 +240,6 @@ private:
virtual bool createFromString(int, const QString &, void *, size_t);
virtual bool variantFromString(int, const QString &, QVariant *);
- virtual bool variantFromJsObject(int, const QV4::Value &, QV4::ExecutionEngine *, QVariant *);
virtual bool store(int, const void *, void *, size_t);
diff --git a/src/qml/qml/v8/qqmlbuiltinfunctions.cpp b/src/qml/qml/v8/qqmlbuiltinfunctions.cpp
index afa5c64794..ff05c0c2ff 100644
--- a/src/qml/qml/v8/qqmlbuiltinfunctions.cpp
+++ b/src/qml/qml/v8/qqmlbuiltinfunctions.cpp
@@ -460,9 +460,10 @@ ReturnedValue QtObject::method_font(const FunctionObject *b, const Value *, cons
if (argc != 1 || !argv[0].isObject())
THROW_GENERIC_ERROR("Qt.font(): Invalid arguments");
- QV4::ExecutionEngine *v4 = scope.engine;
bool ok = false;
- QVariant v = QQml_valueTypeProvider()->createVariantFromJsObject(QMetaType::QFont, argv[0], v4, &ok);
+ QVariant v = QQml_valueTypeProvider()->createVariantFromJsObject(
+ QMetaType::QFont, QJSValuePrivate::fromReturnedValue(argv[0].asReturnedValue()),
+ &ok);
if (!ok)
THROW_GENERIC_ERROR("Qt.font(): Invalid argument: no valid font subproperties specified");
return scope.engine->fromVariant(v);
@@ -556,7 +557,9 @@ ReturnedValue QtObject::method_matrix4x4(const FunctionObject *b, const Value *,
if (argc == 1 && argv[0].isObject()) {
bool ok = false;
- QVariant v = QQml_valueTypeProvider()->createVariantFromJsObject(QMetaType::QMatrix4x4, argv[0], scope.engine, &ok);
+ QVariant v = QQml_valueTypeProvider()->createVariantFromJsObject(
+ QMetaType::QMatrix4x4,
+ QJSValuePrivate::fromReturnedValue(argv[0].asReturnedValue()), &ok);
if (!ok)
THROW_GENERIC_ERROR("Qt.matrix4x4(): Invalid argument: not a valid matrix4x4 values array");
return scope.engine->fromVariant(v);