summaryrefslogtreecommitdiffstats
path: root/src/render/jobs
diff options
context:
space:
mode:
authorPaul Lemire <paul.lemire@kdab.com>2015-11-04 15:12:05 +0100
committerAndy Nichols <andy.nichols@theqtcompany.com>2015-11-16 09:17:46 +0000
commitc86d743aa9039df38a19f387969f62afb528023c (patch)
tree023a4b491f5f1672d8abc985f494e886a8a9620a /src/render/jobs
parentef54211287ef6b87fc2d95617bfdf50f95efe357 (diff)
CalcBoundingBolumeJob: check attribute is not null
Change-Id: If9ccd4ab537a1d99d2f5b34b170cc247e6891e17 Reviewed-by: Andy Nichols <andy.nichols@theqtcompany.com>
Diffstat (limited to 'src/render/jobs')
-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;
}
}