From e8746aeaecc4b1cfe312d8ed943ad74bd53f66e2 Mon Sep 17 00:00:00 2001 From: Lars Knoll Date: Thu, 8 May 2014 14:35:30 +0200 Subject: Start implement new Object creation pattern Create objects through a static create() method that returns a pointer to the objects Data. This will later on simplify breaking the direct connection between Object and Object::Data. Change-Id: Id8daa3c766429bc36f432868e1957846147c96b6 Reviewed-by: Simon Hausmann --- src/quick/items/qquickview_p.h | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) (limited to 'src/quick/items/qquickview_p.h') diff --git a/src/quick/items/qquickview_p.h b/src/quick/items/qquickview_p.h index e73d5aab9c..8b35500de9 100644 --- a/src/quick/items/qquickview_p.h +++ b/src/quick/items/qquickview_p.h @@ -105,6 +105,13 @@ public: struct QQuickRootItemMarker : public QV4::Object { struct Data : QV4::Object::Data { + Data(QV4::ExecutionEngine *engine, QQuickWindow *window) + : Object::Data(engine) + , window(window) + { + setVTable(staticVTable()); + } + QQuickWindow *window; }; struct { @@ -113,12 +120,7 @@ struct QQuickRootItemMarker : public QV4::Object V4_OBJECT - QQuickRootItemMarker(QQmlEngine *engine, QQuickWindow *window); - - static void destroy(Managed *that) - { - static_cast(that)->~QQuickRootItemMarker(); - } + static Data *create(QQmlEngine *engine, QQuickWindow *window); static void markObjects(Managed *that, QV4::ExecutionEngine *e); -- cgit v1.2.3