summaryrefslogtreecommitdiff
path: root/indra/newview
diff options
context:
space:
mode:
authorNyx (Neal Orman) <nyx@lindenlab.com>2010-01-07 11:36:11 -0500
committerNyx (Neal Orman) <nyx@lindenlab.com>2010-01-07 11:36:11 -0500
commit80db39181685f05cbf33b1ea9d24f3d2e99dbcbc (patch)
tree9e0fe4fe3c26bca48bb548311ffbf5a8e95ff5d4 /indra/newview
parent2ee8c957635d3bb1c0638566c47352d8ddf5b2fe (diff)
EXT-3973 viewer crash
Rendering cost calculations didn't handle the case of a face having no image associated with it. Added in null checks before using the pointer to the image. Crash no longer repros. Code reviewed by Vir.
Diffstat (limited to 'indra/newview')
-rw-r--r--indra/newview/llvovolume.cpp7
1 files changed, 5 insertions, 2 deletions
diff --git a/indra/newview/llvovolume.cpp b/indra/newview/llvovolume.cpp
index 70bfc67523..55609621b3 100644
--- a/indra/newview/llvovolume.cpp
+++ b/indra/newview/llvovolume.cpp
@@ -2689,13 +2689,16 @@ U32 LLVOVolume::getRenderCost(std::set<LLUUID> &textures) const
const LLTextureEntry* te = face->getTextureEntry();
const LLViewerTexture* img = face->getTexture();
- textures.insert(img->getID());
+ if (img)
+ {
+ textures.insert(img->getID());
+ }
if (face->getPoolType() == LLDrawPool::POOL_ALPHA)
{
alpha++;
}
- else if (img->getPrimaryFormat() == GL_ALPHA)
+ else if (img && img->getPrimaryFormat() == GL_ALPHA)
{
invisi = 1;
}