diff --git a/indra/llimage/llimage.cpp b/indra/llimage/llimage.cpp index 04085eb7038be2b4998be79162082c54bba0cf00..0fa0ef79d9c8911ae66d842bc43530fddec189bb 100644 --- a/indra/llimage/llimage.cpp +++ b/indra/llimage/llimage.cpp @@ -748,7 +748,11 @@ U8* LLImageBase::allocateData(S32 size) { size = 0; mWidth = mHeight = 0; - mData = NULL; + if (mData) + { + deleteData(); // virtual + mData = NULL; + } } mDataSize = size; claimMem(mDataSize); @@ -775,6 +779,7 @@ U8* LLImageBase::reallocateData(S32 size) disclaimMem(mDataSize); mDataSize = size; claimMem(mDataSize); + mBadBufferAllocation = false; return mData; }