diff options
author | Andy Nichols <andy.nichols@qt.io> | 2020-08-11 11:28:36 +0200 |
---|---|---|
committer | Qt Cherry-pick Bot <cherrypick_bot@qt-project.org> | 2020-08-12 07:41:09 +0000 |
commit | fed6a01e61e460e14f17b79fff9bf27fbb33dd48 (patch) | |
tree | ef7c07d5d74d1c92fc81f2fa030d0bcfc2c7deca | |
parent | 6382ec9a6c961f2b7d7139659c11a047f6b68b07 (diff) |
Force Batch Rebuild if SubtreeBlocked includes an opacity change
Fixes: QTBUG-85965
Change-Id: I2f5aba7fbde7ad2149d408d29db9219f33f13ca8
Reviewed-by: Laszlo Agocs <laszlo.agocs@qt.io>
(cherry picked from commit a4fb90f2239de76751922b3c54893a0207b59092)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
-rw-r--r-- | src/quick/scenegraph/coreapi/qsgbatchrenderer.cpp | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/src/quick/scenegraph/coreapi/qsgbatchrenderer.cpp b/src/quick/scenegraph/coreapi/qsgbatchrenderer.cpp index 860e63d316..3b49b88182 100644 --- a/src/quick/scenegraph/coreapi/qsgbatchrenderer.cpp +++ b/src/quick/scenegraph/coreapi/qsgbatchrenderer.cpp @@ -1480,6 +1480,11 @@ void Renderer::nodeChanged(QSGNode *node, QSGNode::DirtyState state) // to avoid that any of the others are processed twice. if (state & QSGNode::DirtySubtreeBlocked) { Node *sn = m_nodes.value(node); + + // Force a batch rebuild if this includes an opacity change + if (state & QSGNode::DirtyOpacity) + m_rebuild |= FullRebuild; + bool blocked = node->isSubtreeBlocked(); if (blocked && sn) { nodeChanged(node, QSGNode::DirtyNodeRemoved); |