diff options
author | Erik Verbruggen <erik.verbruggen@digia.com> | 2016-09-07 13:31:14 +0200 |
---|---|---|
committer | Erik Verbruggen <erik.verbruggen@qt.io> | 2016-09-27 08:37:39 +0000 |
commit | c08423ac01be53a40226b30e62d2d50d1fca9fd5 (patch) | |
tree | bf5803dcfd215b3f53f18e0479971cb2a4d3b5ad /src/qml/jsruntime/qv4sequenceobject.cpp | |
parent | 480037f2988f5b3010bd6a444cda8e28a24571fd (diff) |
QML: Replace QPointer with a QQmlQPointer (which is trivial)
One of the steps needed to make QV4::Heap::structs trivial.
Change-Id: Ic4d73f15035af21c8a682aaad1ee68cdd91f8e7d
Reviewed-by: Lars Knoll <lars.knoll@qt.io>
Diffstat (limited to 'src/qml/jsruntime/qv4sequenceobject.cpp')
-rw-r--r-- | src/qml/jsruntime/qv4sequenceobject.cpp | 9 |
1 files changed, 6 insertions, 3 deletions
diff --git a/src/qml/jsruntime/qv4sequenceobject.cpp b/src/qml/jsruntime/qv4sequenceobject.cpp index b15ac7eb5e..59086c245c 100644 --- a/src/qml/jsruntime/qv4sequenceobject.cpp +++ b/src/qml/jsruntime/qv4sequenceobject.cpp @@ -218,9 +218,10 @@ template <typename Container> struct QQmlSequence : Object { QQmlSequence(const Container &container); QQmlSequence(QObject *object, int propertyIndex); + ~QQmlSequence() { object.destroy(); } mutable Container container; - QPointer<QObject> object; + QQmlQPointer<QObject> object; int propertyIndex; bool isReference; }; @@ -558,6 +559,8 @@ Heap::QQmlSequence<Container>::QQmlSequence(const Container &container) , propertyIndex(-1) , isReference(false) { + object.init(); + QV4::Scope scope(internalClass->engine); QV4::Scoped<QV4::QQmlSequence<Container> > o(scope, this); o->setArrayType(Heap::ArrayData::Custom); @@ -566,10 +569,10 @@ Heap::QQmlSequence<Container>::QQmlSequence(const Container &container) template <typename Container> Heap::QQmlSequence<Container>::QQmlSequence(QObject *object, int propertyIndex) - : object(object) - , propertyIndex(propertyIndex) + : propertyIndex(propertyIndex) , isReference(true) { + this->object.init(object); QV4::Scope scope(internalClass->engine); QV4::Scoped<QV4::QQmlSequence<Container> > o(scope, this); o->setArrayType(Heap::ArrayData::Custom); |