From a3848f08d2c9d9da3639f90155df9759946a3925 Mon Sep 17 00:00:00 2001 From: Atlante45 Date: Fri, 10 Jul 2015 15:36:17 -0700 Subject: [PATCH] Conditionnal fixes. --- interface/src/avatar/Avatar.cpp | 2 +- libraries/entities-renderer/src/EntityTreeRenderer.cpp | 2 +- .../entities-renderer/src/RenderableModelEntityItem.cpp | 6 +++--- libraries/render-utils/src/AnimationHandle.cpp | 4 ++-- libraries/render-utils/src/GeometryCache.cpp | 2 +- 5 files changed, 8 insertions(+), 8 deletions(-) diff --git a/interface/src/avatar/Avatar.cpp b/interface/src/avatar/Avatar.cpp index 3d4c158a0b..48dad3cabb 100644 --- a/interface/src/avatar/Avatar.cpp +++ b/interface/src/avatar/Avatar.cpp @@ -622,7 +622,7 @@ void Avatar::renderBillboard(RenderArgs* renderArgs) { _billboardTexture = DependencyManager::get()->getTexture( uniqueUrl, DEFAULT_TEXTURE, false, _billboard); } - if (!_billboardTexture->isLoaded()) { + if (!_billboardTexture || !_billboardTexture->isLoaded()) { return; } // rotate about vertical to face the camera diff --git a/libraries/entities-renderer/src/EntityTreeRenderer.cpp b/libraries/entities-renderer/src/EntityTreeRenderer.cpp index 5bad452d00..a2ea23c51e 100644 --- a/libraries/entities-renderer/src/EntityTreeRenderer.cpp +++ b/libraries/entities-renderer/src/EntityTreeRenderer.cpp @@ -544,7 +544,7 @@ const FBXGeometry* EntityTreeRenderer::getCollisionGeometryForEntity(EntityItemP Model* model = modelEntityItem->getModel(this); if (model) { const QSharedPointer collisionNetworkGeometry = model->getCollisionGeometry(); - if (!collisionNetworkGeometry || !collisionNetworkGeometry->isLoaded()) { + if (collisionNetworkGeometry && collisionNetworkGeometry->isLoaded()) { result = &collisionNetworkGeometry->getFBXGeometry(); } } diff --git a/libraries/entities-renderer/src/RenderableModelEntityItem.cpp b/libraries/entities-renderer/src/RenderableModelEntityItem.cpp index cc4c8390c9..03aca71284 100644 --- a/libraries/entities-renderer/src/RenderableModelEntityItem.cpp +++ b/libraries/entities-renderer/src/RenderableModelEntityItem.cpp @@ -397,8 +397,8 @@ bool RenderableModelEntityItem::isReadyToComputeShape() { const QSharedPointer collisionNetworkGeometry = _model->getCollisionGeometry(); const QSharedPointer renderNetworkGeometry = _model->getGeometry(); - if ((!collisionNetworkGeometry && collisionNetworkGeometry->isLoadedWithTextures()) && - (!renderNetworkGeometry && renderNetworkGeometry->isLoadedWithTextures())) { + if ((collisionNetworkGeometry && collisionNetworkGeometry->isLoadedWithTextures()) && + (renderNetworkGeometry && renderNetworkGeometry->isLoadedWithTextures())) { // we have both URLs AND both geometries AND they are both fully loaded. return true; } @@ -419,7 +419,7 @@ void RenderableModelEntityItem::computeShapeInfo(ShapeInfo& info) { // should never fall in here when collision model not fully loaded // hence we assert collisionNetworkGeometry is not NULL - assert(!collisionNetworkGeometry); + assert(collisionNetworkGeometry); const FBXGeometry& collisionGeometry = collisionNetworkGeometry->getFBXGeometry(); const QSharedPointer renderNetworkGeometry = _model->getGeometry(); diff --git a/libraries/render-utils/src/AnimationHandle.cpp b/libraries/render-utils/src/AnimationHandle.cpp index 217c4948e8..6ad6730952 100644 --- a/libraries/render-utils/src/AnimationHandle.cpp +++ b/libraries/render-utils/src/AnimationHandle.cpp @@ -111,7 +111,7 @@ void AnimationHandle::setAnimationDetails(const AnimationDetails& details) { void AnimationHandle::simulate(float deltaTime) { - if (!_animation->isLoaded()) { + if (!_animation || !_animation->isLoaded()) { return; } @@ -151,7 +151,7 @@ void AnimationHandle::simulate(float deltaTime) { } void AnimationHandle::applyFrame(float frameIndex) { - if (!_animation->isLoaded()) { + if (!_animation || !_animation->isLoaded()) { return; } diff --git a/libraries/render-utils/src/GeometryCache.cpp b/libraries/render-utils/src/GeometryCache.cpp index 6d0748df7c..14890bd154 100644 --- a/libraries/render-utils/src/GeometryCache.cpp +++ b/libraries/render-utils/src/GeometryCache.cpp @@ -1942,7 +1942,7 @@ QSharedPointer NetworkGeometry::getLODOrFallback(float distance } } } - if (lod->isLoaded()) { + if (lod && lod->isLoaded()) { hysteresis = lodDistance; return lod; }