diff options
author | Lars Knoll <lars.knoll@digia.com> | 2014-05-09 14:32:59 +0200 |
---|---|---|
committer | Simon Hausmann <simon.hausmann@digia.com> | 2014-07-22 13:49:18 +0200 |
commit | 133ea9d0f1c2dc73b916f5993616a1dd88be98a1 (patch) | |
tree | e004c53ba4f201c537a7ddf40be7787f54d64801 /src/qml/jsruntime/qv4variantobject_p.h | |
parent | 0fd24cf96e79bea3fb625563ddd3ce6f1ca8bd4b (diff) |
Convert more objects to the new constructor scheme
Change-Id: I31b2a1ba4a93f0d4bde68eeb94f13e7224c0cd7b
Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
Diffstat (limited to 'src/qml/jsruntime/qv4variantobject_p.h')
-rw-r--r-- | src/qml/jsruntime/qv4variantobject_p.h | 13 |
1 files changed, 7 insertions, 6 deletions
diff --git a/src/qml/jsruntime/qv4variantobject_p.h b/src/qml/jsruntime/qv4variantobject_p.h index 926aec11cf..b1e872b5c5 100644 --- a/src/qml/jsruntime/qv4variantobject_p.h +++ b/src/qml/jsruntime/qv4variantobject_p.h @@ -68,6 +68,13 @@ struct VariantObject : Object { struct Data : Object::Data, public ExecutionEngine::ScarceResourceData { + Data(InternalClass *ic); + Data(ExecutionEngine *engine, const QVariant &value); + ~Data() { + if (isScarce()) + node.remove(); + } + bool isScarce() const; int vmePropertyReferenceCount; }; struct __Data : public ExecutionEngine::ScarceResourceData @@ -77,14 +84,10 @@ struct VariantObject : Object V4_OBJECT - VariantObject(InternalClass *ic); - VariantObject(ExecutionEngine *engine, const QVariant &value); - static QVariant toVariant(const ValueRef v); void addVmePropertyReference(); void removeVmePropertyReference(); - bool isScarce() const; static void destroy(Managed *that); static bool isEqualTo(Managed *m, Managed *other); @@ -93,8 +96,6 @@ struct VariantObject : Object struct VariantPrototype : VariantObject { public: - VariantPrototype(InternalClass *ic); - void init(); static ReturnedValue method_preserve(CallContext *ctx); |