aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/linden
diff options
context:
space:
mode:
Diffstat (limited to 'linden')
-rw-r--r--linden/indra/newview/lltexturecache.cpp7
-rw-r--r--linden/indra/newview/lltexturefetch.cpp10
2 files changed, 16 insertions, 1 deletions
diff --git a/linden/indra/newview/lltexturecache.cpp b/linden/indra/newview/lltexturecache.cpp
index 3cedf73..c5c14b5 100644
--- a/linden/indra/newview/lltexturecache.cpp
+++ b/linden/indra/newview/lltexturecache.cpp
@@ -1063,6 +1063,13 @@ void LLTextureCache::writeEntryAndClose(S32 idx, Entry& entry)
1063 if (!mReadOnly) 1063 if (!mReadOnly)
1064 { 1064 {
1065 entry.mTime = time(NULL); 1065 entry.mTime = time(NULL);
1066 if(entry.mImageSize < entry.mBodySize)
1067 {
1068 // Just say no, due to my messing around to cache discards other than 0 we can end up here
1069 // after recalling an image from cache at a lower discard than cached. RC
1070 return;
1071 }
1072
1066 llassert_always(entry.mImageSize == 0 || entry.mImageSize == -1 || entry.mImageSize > entry.mBodySize); 1073 llassert_always(entry.mImageSize == 0 || entry.mImageSize == -1 || entry.mImageSize > entry.mBodySize);
1067 if (entry.mBodySize > 0) 1074 if (entry.mBodySize > 0)
1068 { 1075 {
diff --git a/linden/indra/newview/lltexturefetch.cpp b/linden/indra/newview/lltexturefetch.cpp
index c9d8369..2184478 100644
--- a/linden/indra/newview/lltexturefetch.cpp
+++ b/linden/indra/newview/lltexturefetch.cpp
@@ -1142,7 +1142,15 @@ bool LLTextureFetchWorker::doWork(S32 param)
1142 else 1142 else
1143 { 1143 {
1144 setPriority(LLWorkerThread::PRIORITY_LOW | mWorkPriority); 1144 setPriority(LLWorkerThread::PRIORITY_LOW | mWorkPriority);
1145 return true; 1145
1146 if(mDecodedDiscard<=0)
1147 {
1148 return true;
1149 }
1150 else
1151 {
1152 return false;
1153 }
1146 } 1154 }
1147 } 1155 }
1148 1156