diff options
author | Paul Lemire <paul.lemire@kdab.com> | 2015-11-04 15:12:05 +0100 |
---|---|---|
committer | Andy Nichols <andy.nichols@theqtcompany.com> | 2015-11-16 09:17:46 +0000 |
commit | c86d743aa9039df38a19f387969f62afb528023c (patch) | |
tree | 023a4b491f5f1672d8abc985f494e886a8a9620a | |
parent | ef54211287ef6b87fc2d95617bfdf50f95efe357 (diff) |
CalcBoundingBolumeJob: check attribute is not null
Change-Id: If9ccd4ab537a1d99d2f5b34b170cc247e6891e17
Reviewed-by: Andy Nichols <andy.nichols@theqtcompany.com>
-rw-r--r-- | src/render/jobs/calcboundingvolumejob.cpp | 4 |
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; } } |