From 133ea9d0f1c2dc73b916f5993616a1dd88be98a1 Mon Sep 17 00:00:00 2001 From: Lars Knoll Date: Fri, 9 May 2014 14:32:59 +0200 Subject: Convert more objects to the new constructor scheme Change-Id: I31b2a1ba4a93f0d4bde68eeb94f13e7224c0cd7b Reviewed-by: Simon Hausmann --- src/qml/jsruntime/qv4variantobject.cpp | 33 +++++++++++++-------------------- 1 file changed, 13 insertions(+), 20 deletions(-) (limited to 'src/qml/jsruntime/qv4variantobject.cpp') diff --git a/src/qml/jsruntime/qv4variantobject.cpp b/src/qml/jsruntime/qv4variantobject.cpp index 195c356cb9..a5b22a2de8 100644 --- a/src/qml/jsruntime/qv4variantobject.cpp +++ b/src/qml/jsruntime/qv4variantobject.cpp @@ -51,17 +51,17 @@ using namespace QV4; DEFINE_OBJECT_VTABLE(VariantObject); -VariantObject::VariantObject(InternalClass *ic) - : Object(ic) +VariantObject::Data::Data(InternalClass *ic) + : Object::Data(ic) { } -VariantObject::VariantObject(ExecutionEngine *engine, const QVariant &value) - : Object(engine->variantClass) +VariantObject::Data::Data(ExecutionEngine *engine, const QVariant &value) + : Object::Data(engine->variantClass) { - d()->data = value; + data = value; if (isScarce()) - engine->scarceResources.insert(d()); + engine->scarceResources.insert(this); } QVariant VariantObject::toVariant(const QV4::ValueRef v) @@ -86,18 +86,16 @@ QVariant VariantObject::toVariant(const QV4::ValueRef v) return QVariant(); } -bool VariantObject::isScarce() const +bool VariantObject::Data::isScarce() const { - QVariant::Type t = d()->data.type(); + QVariant::Type t = data.type(); return t == QVariant::Pixmap || t == QVariant::Image; } void VariantObject::destroy(Managed *that) { VariantObject *v = static_cast(that); - if (v->isScarce()) - v->d()->node.remove(); - v->~VariantObject(); + v->d()->~Data(); } bool VariantObject::isEqualTo(Managed *m, Managed *other) @@ -116,7 +114,7 @@ bool VariantObject::isEqualTo(Managed *m, Managed *other) void VariantObject::addVmePropertyReference() { - if (isScarce() && ++d()->vmePropertyReferenceCount == 1) { + if (d()->isScarce() && ++d()->vmePropertyReferenceCount == 1) { // remove from the ep->scarceResources list // since it is now no longer eligible to be // released automatically by the engine. @@ -126,7 +124,7 @@ void VariantObject::addVmePropertyReference() void VariantObject::removeVmePropertyReference() { - if (isScarce() && --d()->vmePropertyReferenceCount == 0) { + if (d()->isScarce() && --d()->vmePropertyReferenceCount == 0) { // and add to the ep->scarceResources list // since it is now eligible to be released // automatically by the engine. @@ -135,11 +133,6 @@ void VariantObject::removeVmePropertyReference() } -VariantPrototype::VariantPrototype(InternalClass *ic) - : VariantObject(ic) -{ -} - void VariantPrototype::init() { defineDefaultProperty(QStringLiteral("preserve"), method_preserve, 0); @@ -152,7 +145,7 @@ QV4::ReturnedValue VariantPrototype::method_preserve(CallContext *ctx) { Scope scope(ctx); Scoped o(scope, ctx->d()->callData->thisObject.as()); - if (o && o->isScarce()) + if (o && o->d()->isScarce()) o->d()->node.remove(); return Encode::undefined(); } @@ -162,7 +155,7 @@ QV4::ReturnedValue VariantPrototype::method_destroy(CallContext *ctx) Scope scope(ctx); Scoped o(scope, ctx->d()->callData->thisObject.as()); if (o) { - if (o->isScarce()) + if (o->d()->isScarce()) o->d()->node.remove(); o->d()->data = QVariant(); } -- cgit v1.2.3