diff options
| author | Ulf Hermann <ulf.hermann@qt.io> | 2023-06-21 14:08:12 +0200 |
|---|---|---|
| committer | Ulf Hermann <ulf.hermann@qt.io> | 2023-06-23 21:22:58 +0200 |
| commit | 8889089d0fd8ab93f623a98992588087e45399a5 (patch) | |
| tree | f5f99110badcf61ed4a09b68eb86c87eaca803c4 /src/qml/jsruntime/qv4engine.cpp | |
| parent | a850b68d918d57d919168649e8bbaa97489f3026 (diff) | |
QtQml: Further refine value type creation methods
The methods that populate a default-constructed value type
should be called "populateValueType" and they don't have to
unconditionally destroy the old value.
Change-Id: Icbc0b4bccf00bb9d0f6c838239ac23a1ec9367aa
Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
Diffstat (limited to 'src/qml/jsruntime/qv4engine.cpp')
| -rw-r--r-- | src/qml/jsruntime/qv4engine.cpp | 10 |
1 files changed, 5 insertions, 5 deletions
diff --git a/src/qml/jsruntime/qv4engine.cpp b/src/qml/jsruntime/qv4engine.cpp index 4849886ff9..b2d74c8b5d 100644 --- a/src/qml/jsruntime/qv4engine.cpp +++ b/src/qml/jsruntime/qv4engine.cpp @@ -2681,13 +2681,13 @@ bool ExecutionEngine::metaTypeFromJS(const Value &value, QMetaType metaType, voi d->readReference(); if (void *gadgetPtr = d->gadgetPtr()) { - if (QQmlValueTypeProvider::createValueType(metaType, data, valueType, gadgetPtr)) + if (QQmlValueTypeProvider::populateValueType(metaType, data, valueType, gadgetPtr)) return true; if (QMetaType::canConvert(valueType, metaType)) return QMetaType::convert(valueType, gadgetPtr, metaType, data); } else { QVariant empty(valueType); - if (QQmlValueTypeProvider::createValueType(metaType, data, valueType, empty.data())) + if (QQmlValueTypeProvider::populateValueType(metaType, data, valueType, empty.data())) return true; if (QMetaType::canConvert(valueType, metaType)) return QMetaType::convert(valueType, empty.data(), metaType, data); @@ -2753,8 +2753,8 @@ bool ExecutionEngine::metaTypeFromJS(const Value &value, QMetaType metaType, voi proto = proto->getPrototypeOf(); } } - } else if (QQmlValueTypeProvider::createValueType( - metaType, data, var.metaType(), var.data())) { + } else if (QQmlValueTypeProvider::populateValueType( + metaType, data, var.metaType(), var.data())) { return true; } } else if (value.isNull() && isPointer) { @@ -2767,7 +2767,7 @@ bool ExecutionEngine::metaTypeFromJS(const Value &value, QMetaType metaType, voi *reinterpret_cast<QJSPrimitiveValue *>(data) = createPrimitive(&value); return true; } else if (!isPointer) { - if (QQmlValueTypeProvider::createValueType(metaType, data, value)) + if (QQmlValueTypeProvider::populateValueType(metaType, data, value)) return true; } |
