diff options
author | Kim Motoyoshi Kalland <kim.kalland@nokia.com> | 2011-12-13 15:25:18 +0100 |
---|---|---|
committer | Qt by Nokia <qt-info@nokia.com> | 2012-01-02 16:56:44 +0100 |
commit | 6aa535e39f79548934a5c3a142e13bb09333296a (patch) | |
tree | 7a4c12c6ac126fbe9cbffc3b68835ebe5b2cc3da /src/quick/items/qquickitem.cpp | |
parent | 27a497b3a7581a0cd76407635afca91d1f42aeef (diff) |
Don't re-parent ShaderEffect source items.
ShaderEffect and ShaderEffectSource used to set themselves as
parent of and hide source items that don't already have a parent.
This was done in order to make sure the source items got a canvas.
This patch sets the canvas of the source items without re-parenting.
Task-number: QTBUG-23069
Change-Id: I24d56e6eb970590bca3adff7a61459d25e4983a0
Reviewed-by: Gunnar Sletta <gunnar.sletta@nokia.com>
Diffstat (limited to 'src/quick/items/qquickitem.cpp')
-rw-r--r-- | src/quick/items/qquickitem.cpp | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/src/quick/items/qquickitem.cpp b/src/quick/items/qquickitem.cpp index e9dc737e8a..54ce3162f7 100644 --- a/src/quick/items/qquickitem.cpp +++ b/src/quick/items/qquickitem.cpp @@ -1892,6 +1892,8 @@ void QQuickItem::setParentItem(QQuickItem *parentItem) QQuickCanvasPrivate::DontChangeFocusProperty); op->removeChild(this); + } else if (d->canvas) { + QQuickCanvasPrivate::get(d->canvas)->parentlessItems.remove(this); } d->parentItem = parentItem; @@ -2119,6 +2121,8 @@ void QQuickItemPrivate::initCanvas(InitializationState *state, QQuickCanvas *c) c->hoverItems.removeAll(q); if (itemNodeInstance) c->cleanup(itemNodeInstance); + if (!parentItem) + c->parentlessItems.remove(q); } canvas = c; @@ -2142,6 +2146,9 @@ void QQuickItemPrivate::initCanvas(InitializationState *state, QQuickCanvas *c) childState = &_dummy; } + if (!parentItem && canvas) + QQuickCanvasPrivate::get(canvas)->parentlessItems.insert(q); + for (int ii = 0; ii < childItems.count(); ++ii) { QQuickItem *child = childItems.at(ii); QQuickItemPrivate::get(child)->initCanvas(childState, c); |