summaryrefslogtreecommitdiff
path: root/indra
diff options
context:
space:
mode:
authorXiaohong Bao <bao@lindenlab.com>2010-06-16 11:42:05 -0600
committerXiaohong Bao <bao@lindenlab.com>2010-06-16 11:42:05 -0600
commit8108de817c32e3e4f7337b76534987c3be54bedc (patch)
tree3689a695797f257a38421477f3f64a0c53dc6653 /indra
parent8f592d0ecdaa2a43b313a6a9f192eb2f4d999a92 (diff)
EXT-6567: POSSIBLE FIXED: crash at LLImageBase::allocateData [secondlife-bin llimage.cpp:170];
also removed the debug code for this bug.
Diffstat (limited to 'indra')
-rw-r--r--indra/llimage/llimage.cpp8
-rw-r--r--indra/newview/lltexturefetch.cpp11
2 files changed, 11 insertions, 8 deletions
diff --git a/indra/llimage/llimage.cpp b/indra/llimage/llimage.cpp
index aa7c8c789a..0fc5ca1ad6 100644
--- a/indra/llimage/llimage.cpp
+++ b/indra/llimage/llimage.cpp
@@ -168,8 +168,8 @@ U8* LLImageBase::allocateData(S32 size)
}
else
{
- llerrs << "LLImageBase::allocateData: bad size: " << size << llendl;
- }
+ llerrs << "LLImageBase::allocateData: bad size: " << size << llendl;
+ }
}
if (!mData || size != mDataSize)
{
@@ -267,10 +267,6 @@ LLImageRaw::LLImageRaw(U16 width, U16 height, S8 components)
{
mMemType = LLMemType::MTYPE_IMAGERAW;
//llassert( S32(width) * S32(height) * S32(components) <= MAX_IMAGE_DATA_SIZE );
- if(S32(width) * S32(height) * S32(components) > MAX_IMAGE_DATA_SIZE)
- {
- llwarns << "over size: width: " << (S32)width << " height: " << (S32)height << " components: " << (S32)components << llendl ;
- }
allocateDataSize(width, height, components);
++sRawImageCount;
}
diff --git a/indra/newview/lltexturefetch.cpp b/indra/newview/lltexturefetch.cpp
index 52d227f827..ffd0330ace 100644
--- a/indra/newview/lltexturefetch.cpp
+++ b/indra/newview/lltexturefetch.cpp
@@ -582,14 +582,21 @@ bool LLTextureFetchWorker::doWork(S32 param)
{
LLMutexLock lock(&mWorkMutex);
- if ((mFetcher->isQuitting() || mImagePriority < 1.0f || getFlags(LLWorkerClass::WCF_DELETE_REQUESTED)))
+ if ((mFetcher->isQuitting() || getFlags(LLWorkerClass::WCF_DELETE_REQUESTED)))
{
if (mState < DECODE_IMAGE)
{
return true; // abort
}
}
-
+ if(mImagePriority < 1.0f)
+ {
+ if (mState == INIT || mState == LOAD_FROM_NETWORK || mState == LOAD_FROM_SIMULATOR)
+ {
+ return true; // abort
+ }
+ }
+
if (mFetcher->mDebugPause)
{
return false; // debug: don't do any work