diff options
author | thickbrick | 2011-02-06 23:42:37 +0200 |
---|---|---|
committer | McCabe Maxsted | 2011-03-04 17:25:15 -0700 |
commit | 923d486f58a105c9eb7404e3601ef17d2d7c0240 (patch) | |
tree | 48886903e7fcf925721e7f012623d0302d813de9 /linden/indra | |
parent | Workaround #726: SIGSEGV in memcpy in LLImageRaw::LLImageRaw with data=0 (diff) | |
download | meta-impy-923d486f58a105c9eb7404e3601ef17d2d7c0240.zip meta-impy-923d486f58a105c9eb7404e3601ef17d2d7c0240.tar.gz meta-impy-923d486f58a105c9eb7404e3601ef17d2d7c0240.tar.bz2 meta-impy-923d486f58a105c9eb7404e3601ef17d2d7c0240.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 072af25..878c2fa 100644 --- a/linden/indra/newview/lltexturefetch.cpp +++ b/linden/indra/newview/lltexturefetch.cpp | |||
@@ -1113,6 +1113,17 @@ bool LLTextureFetchWorker::doWork(S32 param) | |||
1113 | return false; | 1113 | return false; |
1114 | } | 1114 | } |
1115 | S32 datasize = mFormattedImage->getDataSize(); | 1115 | S32 datasize = mFormattedImage->getDataSize(); |
1116 | if(mFileSize < datasize)//This could happen when http fetching and sim fetching mixed. | ||
1117 | { | ||
1118 | if(mHaveAllData) | ||
1119 | { | ||
1120 | mFileSize = datasize ; | ||
1121 | } | ||
1122 | else | ||
1123 | { | ||
1124 | mFileSize = datasize + 1 ; //flag not fully loaded. | ||
1125 | } | ||
1126 | } | ||
1116 | llassert_always(datasize); | 1127 | llassert_always(datasize); |
1117 | setPriority(LLWorkerThread::PRIORITY_LOW | mWorkPriority); // Set priority first since Responder may change it | 1128 | setPriority(LLWorkerThread::PRIORITY_LOW | mWorkPriority); // Set priority first since Responder may change it |
1118 | U32 cache_priority = mWorkPriority; | 1129 | U32 cache_priority = mWorkPriority; |