From a4fb90f2239de76751922b3c54893a0207b59092 Mon Sep 17 00:00:00 2001 From: Andy Nichols Date: Tue, 11 Aug 2020 11:28:36 +0200 Subject: Force Batch Rebuild if SubtreeBlocked includes an opacity change Fixes: QTBUG-85965 Pick-to: 5.15 Change-Id: I2f5aba7fbde7ad2149d408d29db9219f33f13ca8 Reviewed-by: Laszlo Agocs --- src/quick/scenegraph/coreapi/qsgbatchrenderer.cpp | 5 +++++ 1 file changed, 5 insertions(+) (limited to 'src/quick/scenegraph') diff --git a/src/quick/scenegraph/coreapi/qsgbatchrenderer.cpp b/src/quick/scenegraph/coreapi/qsgbatchrenderer.cpp index 249f9f9172..f65530dd1e 100644 --- a/src/quick/scenegraph/coreapi/qsgbatchrenderer.cpp +++ b/src/quick/scenegraph/coreapi/qsgbatchrenderer.cpp @@ -1330,6 +1330,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); -- cgit v1.2.3