summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/render/jobs/calcboundingvolumejob.cpp4
1 files changed, 3 insertions, 1 deletions
diff --git a/src/render/jobs/calcboundingvolumejob.cpp b/src/render/jobs/calcboundingvolumejob.cpp
index 8feb7768a..f6d9be118 100644
--- a/src/render/jobs/calcboundingvolumejob.cpp
+++ b/src/render/jobs/calcboundingvolumejob.cpp
@@ -69,6 +69,7 @@ void calculateLocalBoundingVolume(Renderer *renderer, Entity *node)
Geometry *geom = renderer->geometryManager()->lookupResource(gRenderer->geometryId());
// TO DO: We must not recompute this every frame
+ // Find a way to detect that the bounding volume attribute or its buffer have changed
if (geom) {
Qt3DRender::Render::Attribute *pickVolumeAttribute = renderer->attributeManager()->lookupResource(geom->boundingPositionAttribute());
@@ -77,7 +78,8 @@ void calculateLocalBoundingVolume(Renderer *renderer, Entity *node)
if (!pickVolumeAttribute) {
Q_FOREACH (const Qt3DCore::QNodeId attrId, geom->attributes()) {
pickVolumeAttribute = renderer->attributeManager()->lookupResource(attrId);
- if (pickVolumeAttribute->name() == QAttribute::defaultPositionAttributeName())
+ if (pickVolumeAttribute &&
+ pickVolumeAttribute->name() == QAttribute::defaultPositionAttributeName())
break;
}
}