From 05b5f4bc16142a1e0bf6b30a8e0cefeab0c3f47b Mon Sep 17 00:00:00 2001 From: Lars Knoll Date: Tue, 30 Dec 2014 10:59:43 +0100 Subject: Don't store a v8engine pointer in qqmllistwrapper Change-Id: I21b055deb74aafff8b2ee1cdce776e06f154dcaa Reviewed-by: Simon Hausmann --- src/qml/qml/qqmllistwrapper.cpp | 23 ++++++++++------------- 1 file changed, 10 insertions(+), 13 deletions(-) (limited to 'src/qml/qml/qqmllistwrapper.cpp') diff --git a/src/qml/qml/qqmllistwrapper.cpp b/src/qml/qml/qqmllistwrapper.cpp index d27ed95844..f80d268365 100644 --- a/src/qml/qml/qqmllistwrapper.cpp +++ b/src/qml/qml/qqmllistwrapper.cpp @@ -45,13 +45,12 @@ using namespace QV4; DEFINE_OBJECT_VTABLE(QmlListWrapper); -Heap::QmlListWrapper::QmlListWrapper(QV8Engine *engine) - : Heap::Object(QV8Engine::getV4(engine)) - , v8(engine) +Heap::QmlListWrapper::QmlListWrapper(ExecutionEngine *engine) + : Heap::Object(engine) { setVTable(QV4::QmlListWrapper::staticVTable()); - QV4::Scope scope(QV8Engine::getV4(engine)); + QV4::Scope scope(engine); QV4::ScopedObject o(scope, this); o->setArrayType(Heap::ArrayData::Custom); } @@ -60,15 +59,14 @@ Heap::QmlListWrapper::~QmlListWrapper() { } -ReturnedValue QmlListWrapper::create(QV8Engine *v8, QObject *object, int propId, int propType) +ReturnedValue QmlListWrapper::create(ExecutionEngine *engine, QObject *object, int propId, int propType) { if (!object || propId == -1) return Encode::null(); - ExecutionEngine *v4 = QV8Engine::getV4(v8); - Scope scope(v4); + Scope scope(engine); - Scoped r(scope, v4->memoryManager->alloc(v8)); + Scoped r(scope, engine->memoryManager->alloc(engine)); r->d()->object = object; r->d()->propertyType = propType; void *args[] = { &r->d()->property, 0 }; @@ -76,12 +74,11 @@ ReturnedValue QmlListWrapper::create(QV8Engine *v8, QObject *object, int propId, return r.asReturnedValue(); } -ReturnedValue QmlListWrapper::create(QV8Engine *v8, const QQmlListProperty &prop, int propType) +ReturnedValue QmlListWrapper::create(ExecutionEngine *engine, const QQmlListProperty &prop, int propType) { - ExecutionEngine *v4 = QV8Engine::getV4(v8); - Scope scope(v4); + Scope scope(engine); - Scoped r(scope, v4->memoryManager->alloc(v8)); + Scoped r(scope, engine->memoryManager->alloc(engine)); r->d()->object = prop.object; r->d()->property = prop; r->d()->propertyType = propType; @@ -93,7 +90,7 @@ QVariant QmlListWrapper::toVariant() const if (!d()->object) return QVariant(); - return QVariant::fromValue(QQmlListReferencePrivate::init(d()->property, d()->propertyType, d()->v8->engine())); + return QVariant::fromValue(QQmlListReferencePrivate::init(d()->property, d()->propertyType, d()->internalClass->engine->v8Engine->engine())); } -- cgit v1.2.3