diff options
Diffstat (limited to 'src/qml/qml/qqmlvaluetypewrapper.cpp')
-rw-r--r-- | src/qml/qml/qqmlvaluetypewrapper.cpp | 15 |
1 files changed, 15 insertions, 0 deletions
diff --git a/src/qml/qml/qqmlvaluetypewrapper.cpp b/src/qml/qml/qqmlvaluetypewrapper.cpp index 9e08882b59..1d91ff6bd8 100644 --- a/src/qml/qml/qqmlvaluetypewrapper.cpp +++ b/src/qml/qml/qqmlvaluetypewrapper.cpp @@ -63,6 +63,21 @@ QVariant Heap::QQmlValueTypeWrapper::toVariant() const } +ReturnedValue QQmlValueTypeReference::create( + ExecutionEngine *engine, Heap::QQmlValueTypeReference *cloneFrom, QObject *object) +{ + Scope scope(engine); + initProto(engine); + + Scoped<QQmlValueTypeReference> r(scope, engine->memoryManager->allocate<QQmlValueTypeReference>()); + r->d()->object = object; + r->d()->property = cloneFrom->property; + r->d()->setMetaObject(cloneFrom->metaObject()); + r->d()->setValueType(cloneFrom->valueType()); + r->d()->setGadgetPtr(nullptr); + return r->asReturnedValue(); +} + bool QQmlValueTypeReference::readReferenceValue() const { if (!d()->object) |