diff options
author | Ulf Hermann <ulf.hermann@qt.io> | 2020-09-18 16:34:11 +0200 |
---|---|---|
committer | Ulf Hermann <ulf.hermann@qt.io> | 2020-09-23 14:54:47 +0200 |
commit | 2d02307e73b63c8d2ce935a9d7dd7b177c017f87 (patch) | |
tree | 8751f6c3354d24bd4f13182e5178a98b8fca0263 /src/qml/qml/v8/qqmlbuiltinfunctions.cpp | |
parent | 39b5be920cf65979df669d02a3410a7396be6ada (diff) |
Condense the different value type creation functions into one
They all did the same thing.
Change-Id: I7661b19ad16c0713d46c4df337899e3897349b2e
Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
Diffstat (limited to 'src/qml/qml/v8/qqmlbuiltinfunctions.cpp')
-rw-r--r-- | src/qml/qml/v8/qqmlbuiltinfunctions.cpp | 25 |
1 files changed, 14 insertions, 11 deletions
diff --git a/src/qml/qml/v8/qqmlbuiltinfunctions.cpp b/src/qml/qml/v8/qqmlbuiltinfunctions.cpp index ff05c0c2ff..12e54f0895 100644 --- a/src/qml/qml/v8/qqmlbuiltinfunctions.cpp +++ b/src/qml/qml/v8/qqmlbuiltinfunctions.cpp @@ -460,12 +460,12 @@ ReturnedValue QtObject::method_font(const FunctionObject *b, const Value *, cons if (argc != 1 || !argv[0].isObject()) THROW_GENERIC_ERROR("Qt.font(): Invalid arguments"); - bool ok = false; - QVariant v = QQml_valueTypeProvider()->createVariantFromJsObject( + QVariant v; + if (!QQml_valueTypeProvider()->createValueType( QMetaType::QFont, QJSValuePrivate::fromReturnedValue(argv[0].asReturnedValue()), - &ok); - if (!ok) + &v)) { THROW_GENERIC_ERROR("Qt.font(): Invalid argument: no valid font subproperties specified"); + } return scope.engine->fromVariant(v); } @@ -482,7 +482,9 @@ static ReturnedValue createValueType(const FunctionObject *b, const Value *argv, for (int i = 0; i < parameters; ++i) params.setProperty(i, QJSValuePrivate::fromReturnedValue(argv[i].asReturnedValue())); - return scope.engine->fromVariant(QQml_valueTypeProvider()->createValueType(type, params)); + QVariant variant; + QQml_valueTypeProvider()->createValueType(type, params, &variant); + return scope.engine->fromVariant(variant); } /*! @@ -551,17 +553,18 @@ ReturnedValue QtObject::method_matrix4x4(const FunctionObject *b, const Value *, QV4::Scope scope(b); if (argc == 0) { - return scope.engine->fromVariant(QQml_valueTypeProvider()->createValueType( - QMetaType::QMatrix4x4, QJSValue())); + QVariant variant; + QQml_valueTypeProvider()->createValueType(QMetaType::QMatrix4x4, QJSValue(), &variant); + return scope.engine->fromVariant(variant); } if (argc == 1 && argv[0].isObject()) { - bool ok = false; - QVariant v = QQml_valueTypeProvider()->createVariantFromJsObject( + QVariant v; + if (!QQml_valueTypeProvider()->createValueType( QMetaType::QMatrix4x4, - QJSValuePrivate::fromReturnedValue(argv[0].asReturnedValue()), &ok); - if (!ok) + QJSValuePrivate::fromReturnedValue(argv[0].asReturnedValue()), &v)) { THROW_GENERIC_ERROR("Qt.matrix4x4(): Invalid argument: not a valid matrix4x4 values array"); + } return scope.engine->fromVariant(v); } |