aboutsummaryrefslogtreecommitdiffstats
path: root/src/qml/jsruntime/qv4variantobject_p.h
diff options
context:
space:
mode:
authorLars Knoll <lars.knoll@digia.com>2014-05-09 14:32:59 +0200
committerSimon Hausmann <simon.hausmann@digia.com>2014-07-22 13:49:18 +0200
commit133ea9d0f1c2dc73b916f5993616a1dd88be98a1 (patch)
treee004c53ba4f201c537a7ddf40be7787f54d64801 /src/qml/jsruntime/qv4variantobject_p.h
parent0fd24cf96e79bea3fb625563ddd3ce6f1ca8bd4b (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.h13
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);