summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorPaul Lemire <paul.lemire@kdab.com>2020-01-31 09:33:36 +0100
committerPaul Lemire <paul.lemire@kdab.com>2020-01-31 10:56:42 +0100
commit32755ab5cca668c82b43bbe8b2e907e4f7dd7720 (patch)
tree429eab1c820b0f649ebc6a48d2d1aa9724d80a64 /src
parent980eedb9e33c2c14e3781ee7bda46ba512071f90 (diff)
Fix stale Entity caches
Make sure we mark the internal state as dirty when Entities get cleaned up. We could otherwise end up with stale caches referencing Entity's that have been cleaned up (referencing null bounding volumes ...) Change-Id: Ia2d2c67f8635e28690f33c0a7d4c9ff1de0eb471 Reviewed-by: Mike Krus <mike.krus@kdab.com>
Diffstat (limited to 'src')
-rw-r--r--src/render/backend/entity.cpp4
1 files changed, 4 insertions, 0 deletions
diff --git a/src/render/backend/entity.cpp b/src/render/backend/entity.cpp
index 682dc000e..d766baaaf 100644
--- a/src/render/backend/entity.cpp
+++ b/src/render/backend/entity.cpp
@@ -156,6 +156,10 @@ void Entity::cleanup()
m_parentHandle = {};
m_boundingDirty = false;
QBackendNode::setEnabled(false);
+
+ // Ensure we rebuild caches when an Entity gets cleaned up
+ if (m_renderer)
+ markDirty(AbstractRenderer::AllDirty);
}
void Entity::setParentHandle(HEntity parentHandle)