summaryrefslogtreecommitdiff
path: root/indra/llappearance/llwearable.cpp
diff options
context:
space:
mode:
authormaksymsproductengine <maksymsproductengine@lindenlab.com>2014-03-20 19:21:52 +0200
committermaksymsproductengine <maksymsproductengine@lindenlab.com>2014-03-20 19:21:52 +0200
commit6f33f9090b554a32f039e46d8177650ccbf94536 (patch)
tree3d518c0a2ec73a88c5cd0c99d900e98c035b8756 /indra/llappearance/llwearable.cpp
parent2f606a36f63979af73bad76d883646b2d3f8a727 (diff)
MAINT-3827 FIXED crash in KDU texture decoding, likely out of memory
Diffstat (limited to 'indra/llappearance/llwearable.cpp')
-rw-r--r--indra/llappearance/llwearable.cpp11
1 files changed, 10 insertions, 1 deletions
diff --git a/indra/llappearance/llwearable.cpp b/indra/llappearance/llwearable.cpp
index d86a460511..61cd995cea 100644
--- a/indra/llappearance/llwearable.cpp
+++ b/indra/llappearance/llwearable.cpp
@@ -420,6 +420,12 @@ LLWearable::EImportResult LLWearable::importStream( std::istream& input_stream,
return LLWearable::FAILURE;
}
LLUUID id = LLUUID(uuid_buffer);
+
+ if (!gTextureManagerBridgep)
+ {
+ continue;
+ }
+
LLGLTexture* image = gTextureManagerBridgep->getFetchedTexture( id );
if( mTEMap.find(te) != mTEMap.end() )
{
@@ -592,7 +598,10 @@ void LLWearable::syncImages(te_map_t &src, te_map_t &dst)
{
// there is no Local Texture Object in the source image map. Get defaults values for populating the destination image map.
image_id = getDefaultTextureImageID((ETextureIndex) te);
- image = gTextureManagerBridgep->getFetchedTexture( image_id );
+ if (gTextureManagerBridgep)
+ {
+ image = gTextureManagerBridgep->getFetchedTexture( image_id );
+ }
}
if( dst.find(te) != dst.end() )