From bdfd88d097c56871decf4a5ff3e7053290b067aa Mon Sep 17 00:00:00 2001 From: Andy Nichols Date: Wed, 13 Apr 2016 15:30:09 +0200 Subject: 2DRenderer: Mark all regions of deleted node as dirty Previous behavior was to always subtract the current bounding rect of items when calculating the previous dirty region. When you remove a node though, there is no current bounding rect because the item no longer exists. The last valid boundingRect was use instead, which led to the previous bounding rect to not get marked as dirty when the node was removed. Change-Id: Ic1a4f872d4d46125b06e2588aae695b8ff67d0fd Reviewed-by: Laszlo Agocs --- .../scenegraph/adaptations/software/qsgabstractsoftwarerenderer.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'src/quick/scenegraph/adaptations/software/qsgabstractsoftwarerenderer.cpp') diff --git a/src/quick/scenegraph/adaptations/software/qsgabstractsoftwarerenderer.cpp b/src/quick/scenegraph/adaptations/software/qsgabstractsoftwarerenderer.cpp index 4ceaa08197..eb0e26462a 100644 --- a/src/quick/scenegraph/adaptations/software/qsgabstractsoftwarerenderer.cpp +++ b/src/quick/scenegraph/adaptations/software/qsgabstractsoftwarerenderer.cpp @@ -260,7 +260,7 @@ void QSGAbstractSoftwareRenderer::nodeRemoved(QSGNode *node) // remove mapping if (renderable != nullptr) { // Need to mark this region dirty in the other nodes - QRegion dirtyRegion = renderable->previousDirtyRegion(); + QRegion dirtyRegion = renderable->previousDirtyRegion(true); if (dirtyRegion.isEmpty()) dirtyRegion = renderable->boundingRect(); m_dirtyRegion += dirtyRegion; -- cgit v1.2.3