diff options
author | Ulf Hermann <ulf.hermann@qt.io> | 2020-09-21 10:40:27 +0200 |
---|---|---|
committer | Ulf Hermann <ulf.hermann@qt.io> | 2020-10-02 13:21:09 +0200 |
commit | 45594322fe91eadcd9b2d7b1d76c1a6662bc1472 (patch) | |
tree | d14e743f40351ca7a660984616b2500aa83032f5 /src/qml/qml/v8/qqmlbuiltinfunctions.cpp | |
parent | d621027babff9a30d56ab6af871a465108c9eaba (diff) |
Use factory functions and ctors for creating value types
As you can extend value types with QML_EXTENDED we may as well allow a
factory function in the extended type. Furthermore, if the original type
allows construction from QJSValue, we may just use that. In turn, we can
get rid of the value type providers now.
Change-Id: I9124ea47537eab6c33d7451080ab2fff942eaa7b
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 | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/src/qml/qml/v8/qqmlbuiltinfunctions.cpp b/src/qml/qml/v8/qqmlbuiltinfunctions.cpp index 12e54f0895..3b6c448e49 100644 --- a/src/qml/qml/v8/qqmlbuiltinfunctions.cpp +++ b/src/qml/qml/v8/qqmlbuiltinfunctions.cpp @@ -463,7 +463,7 @@ ReturnedValue QtObject::method_font(const FunctionObject *b, const Value *, cons QVariant v; if (!QQml_valueTypeProvider()->createValueType( QMetaType::QFont, QJSValuePrivate::fromReturnedValue(argv[0].asReturnedValue()), - &v)) { + v)) { THROW_GENERIC_ERROR("Qt.font(): Invalid argument: no valid font subproperties specified"); } return scope.engine->fromVariant(v); @@ -483,7 +483,7 @@ static ReturnedValue createValueType(const FunctionObject *b, const Value *argv, params.setProperty(i, QJSValuePrivate::fromReturnedValue(argv[i].asReturnedValue())); QVariant variant; - QQml_valueTypeProvider()->createValueType(type, params, &variant); + QQml_valueTypeProvider()->createValueType(type, params, variant); return scope.engine->fromVariant(variant); } @@ -554,7 +554,7 @@ ReturnedValue QtObject::method_matrix4x4(const FunctionObject *b, const Value *, if (argc == 0) { QVariant variant; - QQml_valueTypeProvider()->createValueType(QMetaType::QMatrix4x4, QJSValue(), &variant); + QQml_valueTypeProvider()->createValueType(QMetaType::QMatrix4x4, QJSValue(), variant); return scope.engine->fromVariant(variant); } @@ -562,7 +562,7 @@ ReturnedValue QtObject::method_matrix4x4(const FunctionObject *b, const Value *, QVariant v; if (!QQml_valueTypeProvider()->createValueType( QMetaType::QMatrix4x4, - QJSValuePrivate::fromReturnedValue(argv[0].asReturnedValue()), &v)) { + QJSValuePrivate::fromReturnedValue(argv[0].asReturnedValue()), v)) { THROW_GENERIC_ERROR("Qt.matrix4x4(): Invalid argument: not a valid matrix4x4 values array"); } return scope.engine->fromVariant(v); |