diff options
author | Ulf Hermann <ulf.hermann@qt.io> | 2022-10-05 17:01:21 +0200 |
---|---|---|
committer | Ulf Hermann <ulf.hermann@qt.io> | 2022-10-07 15:17:02 +0200 |
commit | 81faddec9c6607834da4fdb931f81f29e1f7ac69 (patch) | |
tree | b71d0df5f0febaf5b24bab4baa9d718e64436112 /src/qml/qml/qqmlvmemetaobject.cpp | |
parent | 8d9fd352f8b7fb80e75372d6ad337264887a3b14 (diff) |
V4: Drop extra QVariant parameter from fromData()
The data needs to be copied anyway if we are going to store it in
ScarceResourceObject. We can just as well copy it from the void pointer.
Change-Id: Ic106221138b1236a6ddea20cfdb468c6fbe3e1c3
Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
Diffstat (limited to 'src/qml/qml/qqmlvmemetaobject.cpp')
-rw-r--r-- | src/qml/qml/qqmlvmemetaobject.cpp | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/src/qml/qml/qqmlvmemetaobject.cpp b/src/qml/qml/qqmlvmemetaobject.cpp index 46e5ad96da..20f4021b61 100644 --- a/src/qml/qml/qqmlvmemetaobject.cpp +++ b/src/qml/qml/qqmlvmemetaobject.cpp @@ -614,8 +614,8 @@ QVector<QQmlGuard<QObject>> *QQmlVMEMetaObject::readPropertyAsList(int id) const QV4::Scope scope(engine); QV4::Scoped<QV4::VariantObject> v(scope, *(md->data() + id)); if (!v || v->d()->data().metaType() != QMetaType::fromType<QVector<QQmlGuard<QObject>>>()) { - QVariant variant(QVariant::fromValue(QVector<QQmlGuard<QObject>>())); - v = engine->newVariantObject(variant); + const QVector<QQmlGuard<QObject>> guards; + v = engine->newVariantObject(QMetaType::fromType<QVector<QQmlGuard<QObject>>>(), &guards); md->set(engine, id, v); } return static_cast<QVector<QQmlGuard<QObject>> *>(v->d()->data().data()); @@ -909,7 +909,7 @@ int QQmlVMEMetaObject::metaCall(QObject *o, QMetaObject::Call c, int _id, void * } else { needActivate = true; md->set(engine, id, engine->newVariantObject( - QVariant(propType, a[0]))); + propType, a[0])); } } } else { @@ -1196,7 +1196,7 @@ void QQmlVMEMetaObject::writeProperty(int id, const QVariant &value) v->d()->data() != value); if (v) v->removeVmePropertyReference(); - md->set(engine, id, engine->newVariantObject(value)); + md->set(engine, id, engine->newVariantObject(value.metaType(), value.constData())); v = static_cast<const QV4::VariantObject *>(md->data() + id); v->addVmePropertyReference(); } |