diff options
author | maksymsproductengine <maksymsproductengine@lindenlab.com> | 2014-03-20 19:21:52 +0200 |
---|---|---|
committer | maksymsproductengine <maksymsproductengine@lindenlab.com> | 2014-03-20 19:21:52 +0200 |
commit | 6f33f9090b554a32f039e46d8177650ccbf94536 (patch) | |
tree | 3d518c0a2ec73a88c5cd0c99d900e98c035b8756 /indra/llappearance/llwearable.cpp | |
parent | 2f606a36f63979af73bad76d883646b2d3f8a727 (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.cpp | 11 |
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() ) |