aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/quick/items/qquickview.cpp4
-rw-r--r--src/quick/items/qquickview_p.h10
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