diff options
author | Simon Hausmann <simon.hausmann@digia.com> | 2014-03-28 18:41:26 +0100 |
---|---|---|
committer | The Qt Project <gerrit-noreply@qt-project.org> | 2014-03-28 23:02:34 +0100 |
commit | 8b371173c4fed7df453a0e352af54e3363709d4b (patch) | |
tree | c6b34db3954572b896fe6ac94d37bd68ba6f725a /src/quick/items/qquickview_p.h | |
parent | 9614dc2c51b54e32de7dac3543c3e044d0b3c240 (diff) |
Fix visual parent ownership with scenes that create windows
Commit 39540124dd0900e0c99dcda8c0ebdf4f3cea8d5e introduced the concept that
a visual parent marks its children, by recursively marking the children of
the root item in a QQuickView. This allowed for the removal of an ugly hack
in QtQuick Controls.
Unfortunately that fix is incomplete in the sense that it makes the incorrect
assumption that a QQuickView is always used. The use-case in the bug report is
to have child items inside a QtQuick.Window (a regular ApplicationWindow in
fact). That window - implemented by QQuickWindowQmlImpl - also needs to mark
its children, so this patch introduces the use of the same GC marking helper
class (which now operates on a QQuickWindow instead of a QQuickViewPrivate).
Task-number: QTBUG-37711
Change-Id: Id788e84dbb041ac8ba6ff23dc4ef56f6fe9e465a
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
Diffstat (limited to 'src/quick/items/qquickview_p.h')
-rw-r--r-- | src/quick/items/qquickview_p.h | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/src/quick/items/qquickview_p.h b/src/quick/items/qquickview_p.h index 74e40081e9..dfc8c21d0b 100644 --- a/src/quick/items/qquickview_p.h +++ b/src/quick/items/qquickview_p.h @@ -106,7 +106,7 @@ struct QQuickRootItemMarker : public QV4::Object { V4_OBJECT - QQuickRootItemMarker(QQuickViewPrivate *view); + QQuickRootItemMarker(QQmlEngine *engine, QQuickWindow *window); static void destroy(Managed *that) { @@ -115,7 +115,7 @@ struct QQuickRootItemMarker : public QV4::Object static void markObjects(Managed *that, QV4::ExecutionEngine *e); - QQuickViewPrivate *view; + QQuickWindow *window; }; QT_END_NAMESPACE |