From 8b371173c4fed7df453a0e352af54e3363709d4b Mon Sep 17 00:00:00 2001 From: Simon Hausmann Date: Fri, 28 Mar 2014 18:41:26 +0100 Subject: 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 --- .../quick/qquickitem/data/visualParentOwnershipWindow.qml | 15 +++++++++++++++ 1 file changed, 15 insertions(+) create mode 100644 tests/auto/quick/qquickitem/data/visualParentOwnershipWindow.qml (limited to 'tests/auto/quick/qquickitem/data') diff --git a/tests/auto/quick/qquickitem/data/visualParentOwnershipWindow.qml b/tests/auto/quick/qquickitem/data/visualParentOwnershipWindow.qml new file mode 100644 index 0000000000..30fc844d7a --- /dev/null +++ b/tests/auto/quick/qquickitem/data/visualParentOwnershipWindow.qml @@ -0,0 +1,15 @@ +import QtQuick 2.0 +import QtQuick.Window 2.1 + +Window { + Component { + id: factory + Item {} + } + + property Item keepAliveProperty; + + function createItemWithoutParent() { + return factory.createObject(/*parent*/ null); + } +} -- cgit v1.2.3