diff --git a/indra/llrender/llgltexture.cpp b/indra/llrender/llgltexture.cpp index 56e263c5f1..fb5e40c2c5 100644 --- a/indra/llrender/llgltexture.cpp +++ b/indra/llrender/llgltexture.cpp @@ -130,6 +130,13 @@ void LLGLTexture::setActive() { mTextureState = ACTIVE ; } + + // Try to plug the profile icon memory hole + if (mBoostLevel == BOOST_ICON) + { + setNoDelete(); + } + // } //set the texture to stay in memory diff --git a/indra/newview/llviewertexture.cpp b/indra/newview/llviewertexture.cpp index 7398c7d527..3f12e8f646 100755 --- a/indra/newview/llviewertexture.cpp +++ b/indra/newview/llviewertexture.cpp @@ -1266,7 +1266,10 @@ void LLViewerFetchedTexture::setDeletionCandidate() //set the texture inactive void LLViewerFetchedTexture::setInactive() { - if(mTextureState == ACTIVE && mGLTexturep.notNull() && mGLTexturep->getTexName() && !mGLTexturep->getBoundRecently()) + // Try to plug the profile icon memory hole + //if(mTextureState == ACTIVE && mGLTexturep.notNull() && mGLTexturep->getTexName() && !mGLTexturep->getBoundRecently()) + if((mTextureState == ACTIVE || (mTextureState == NO_DELETE && mBoostLevel == BOOST_ICON)) && mGLTexturep.notNull() && mGLTexturep->getTexName() && !mGLTexturep->getBoundRecently()) + // { mTextureState = INACTIVE; }