diff options
author | Andy Nichols <[email protected]> | 2016-04-13 15:30:09 +0200 |
---|---|---|
committer | Andy Nichols <[email protected]> | 2016-04-13 14:18:07 +0000 |
commit | bdfd88d097c56871decf4a5ff3e7053290b067aa (patch) | |
tree | 02e57d4f87d0af1bcfbbb75d69a8bdd6e1bd3f9a /src/quick/scenegraph/adaptations/software/qsgabstractsoftwarerenderer.cpp | |
parent | 49f715f9f0b777d47de89f600199fe297c89a9c6 (diff) |
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 <[email protected]>
Diffstat (limited to 'src/quick/scenegraph/adaptations/software/qsgabstractsoftwarerenderer.cpp')
-rw-r--r-- | src/quick/scenegraph/adaptations/software/qsgabstractsoftwarerenderer.cpp | 2 |
1 files changed, 1 insertions, 1 deletions
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; |