diff options
author | thickbrick | 2011-02-06 23:42:37 +0200 |
---|---|---|
committer | thickbrick | 2011-02-06 23:42:37 +0200 |
commit | 21d0848f94c64b20fb7ceedd4ae7b71012a834d7 (patch) | |
tree | 810697e32185af876c1a74432f42de66877deb9c /linden/indra | |
parent | Merge remote branch 'origin/weekly' into weekly (diff) | |
download | meta-impy-21d0848f94c64b20fb7ceedd4ae7b71012a834d7.zip meta-impy-21d0848f94c64b20fb7ceedd4ae7b71012a834d7.tar.gz meta-impy-21d0848f94c64b20fb7ceedd4ae7b71012a834d7.tar.bz2 meta-impy-21d0848f94c64b20fb7ceedd4ae7b71012a834d7.tar.xz |
Fix #778: Textures get stuck half fetched.
Make sure partial textures are cached as partial, so that they will
finish fetching in consequent sessions. This is a rare case, but does
happen. Backported from viewer2.
Diffstat (limited to 'linden/indra')
-rw-r--r-- | linden/indra/newview/lltexturefetch.cpp | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/linden/indra/newview/lltexturefetch.cpp b/linden/indra/newview/lltexturefetch.cpp index 83a54e4..4b1a9cb 100644 --- a/linden/indra/newview/lltexturefetch.cpp +++ b/linden/indra/newview/lltexturefetch.cpp | |||
@@ -1116,6 +1116,17 @@ bool LLTextureFetchWorker::doWork(S32 param) | |||
1116 | return false; | 1116 | return false; |
1117 | } | 1117 | } |
1118 | S32 datasize = mFormattedImage->getDataSize(); | 1118 | S32 datasize = mFormattedImage->getDataSize(); |
1119 | if(mFileSize < datasize)//This could happen when http fetching and sim fetching mixed. | ||
1120 | { | ||
1121 | if(mHaveAllData) | ||
1122 | { | ||
1123 | mFileSize = datasize ; | ||
1124 | } | ||
1125 | else | ||
1126 | { | ||
1127 | mFileSize = datasize + 1 ; //flag not fully loaded. | ||
1128 | } | ||
1129 | } | ||
1119 | llassert_always(datasize); | 1130 | llassert_always(datasize); |
1120 | setPriority(LLWorkerThread::PRIORITY_LOW | mWorkPriority); // Set priority first since Responder may change it | 1131 | setPriority(LLWorkerThread::PRIORITY_LOW | mWorkPriority); // Set priority first since Responder may change it |
1121 | U32 cache_priority = mWorkPriority; | 1132 | U32 cache_priority = mWorkPriority; |