diff options
-rw-r--r-- | src/quick/items/qquickview.cpp | 4 | ||||
-rw-r--r-- | src/quick/items/qquickview_p.h | 10 |
2 files changed, 10 insertions, 4 deletions
diff --git a/src/quick/items/qquickview.cpp b/src/quick/items/qquickview.cpp index 72c66448b4..1a5058f4ca 100644 --- a/src/quick/items/qquickview.cpp +++ b/src/quick/items/qquickview.cpp @@ -60,14 +60,14 @@ DEFINE_OBJECT_VTABLE(QQuickRootItemMarker); QQuickRootItemMarker::QQuickRootItemMarker(QQmlEngine *engine, QQuickWindow *window) : QV4::Object(QQmlEnginePrivate::getV4Engine(engine)) - , window(window) { + d()->window = window; setVTable(staticVTable()); } void QQuickRootItemMarker::markObjects(QV4::Managed *that, QV4::ExecutionEngine *e) { - QQuickItem *root = static_cast<QQuickRootItemMarker*>(that)->window->contentItem(); + QQuickItem *root = static_cast<QQuickRootItemMarker*>(that)->d()->window->contentItem(); if (root) { QQuickItemPrivate *rootPrivate = QQuickItemPrivate::get(root); rootPrivate->markObjects(e); diff --git a/src/quick/items/qquickview_p.h b/src/quick/items/qquickview_p.h index dfc8c21d0b..a6fbab74cb 100644 --- a/src/quick/items/qquickview_p.h +++ b/src/quick/items/qquickview_p.h @@ -104,7 +104,14 @@ public: struct QQuickRootItemMarker : public QV4::Object { - V4_OBJECT + struct Data : QV4::Object::Data { + QQuickWindow *window; + }; + struct { + QQuickWindow *window; + } __data; + + V4_OBJECT_NEW QQuickRootItemMarker(QQmlEngine *engine, QQuickWindow *window); @@ -115,7 +122,6 @@ struct QQuickRootItemMarker : public QV4::Object static void markObjects(Managed *that, QV4::ExecutionEngine *e); - QQuickWindow *window; }; QT_END_NAMESPACE |