diff options
Diffstat (limited to 'indra')
| -rw-r--r-- | indra/newview/llviewertexture.cpp | 21 | 
1 files changed, 16 insertions, 5 deletions
| diff --git a/indra/newview/llviewertexture.cpp b/indra/newview/llviewertexture.cpp index 20a22ba45e..f5c4192d36 100644 --- a/indra/newview/llviewertexture.cpp +++ b/indra/newview/llviewertexture.cpp @@ -3525,11 +3525,22 @@ BOOL LLViewerMediaTexture::findFaces()  	for(; iter != obj_list->end(); ++iter)  	{  		LLVOVolume* obj = *iter; -		if(obj->mDrawable.isNull()) -		{ -			ret = FALSE; -			continue; -		} +        if (obj->isDead()) +        { +            // Isn't supposed to happen, objects are supposed to detach +            // themselves on markDead() +            // If this happens, viewer is likely to crash +            llassert(0); +            LL_WARNS() << "Dead object in mMediaImplp's object list" << LL_ENDL; +            ret = FALSE; +            continue; +        } + +        if (obj->mDrawable.isNull() || obj->mDrawable->isDead()) +        { +            ret = FALSE; +            continue; +        }  		S32 face_id = -1;  		S32 num_faces = obj->mDrawable->getNumFaces(); | 
