aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorInhye Seo <inhye.seo@lge.com>2016-10-21 17:31:18 +0900
committerInhye Seo <inhye.seo@lge.com>2016-11-09 01:38:09 +0000
commit9f4bb9a687277932125a065a53e3f3d8afdebc8b (patch)
treefc30ce30d2cef01a5170a8264a89efd479789dc2 /src
parentfe98037e76d95e7634cce3c96878956edd2f61fa (diff)
Add checking "before" as child node
qquickitem_before_paintNode returns the transform node for the rectangle as child node. But the node has no parent. It leads to following assertion case at QSGNode::insertChildNodeAfter(). But, I tested it in release mode, so no assertion happened. So, Some node not be able to add group node from this cause. Task-number: QTBUG-56657 Change-Id: Ie032dc6c56984bcb58cfcd348ff532f56e39e5b8 Reviewed-by: Inhye Seo <inhye.seo@lge.com> Reviewed-by: Gunnar Sletta <gunnar@sletta.org>
Diffstat (limited to 'src')
-rw-r--r--src/quick/items/qquickwindow.cpp6
1 files changed, 4 insertions, 2 deletions
diff --git a/src/quick/items/qquickwindow.cpp b/src/quick/items/qquickwindow.cpp
index 7875005e2d..e19570ea03 100644
--- a/src/quick/items/qquickwindow.cpp
+++ b/src/quick/items/qquickwindow.cpp
@@ -3067,10 +3067,12 @@ void QQuickWindowPrivate::updateDirtyNode(QQuickItem *item)
if (itemPriv->paintNode && itemPriv->paintNode->parent() == 0) {
QSGNode *before = qquickitem_before_paintNode(itemPriv);
- if (before)
+ if (before && before->parent()) {
+ Q_ASSERT(before->parent() == itemPriv->childContainerNode());
itemPriv->childContainerNode()->insertChildNodeAfter(itemPriv->paintNode, before);
- else
+ } else {
itemPriv->childContainerNode()->prependChildNode(itemPriv->paintNode);
+ }
}
} else if (itemPriv->paintNode) {
delete itemPriv->paintNode;