aboutsummaryrefslogtreecommitdiffstatshomepage
diff options
context:
space:
mode:
authorthickbrick2011-02-06 23:42:37 +0200
committerMcCabe Maxsted2011-03-04 17:25:15 -0700
commit923d486f58a105c9eb7404e3601ef17d2d7c0240 (patch)
tree48886903e7fcf925721e7f012623d0302d813de9
parentWorkaround #726: SIGSEGV in memcpy in LLImageRaw::LLImageRaw with data=0 (diff)
downloadmeta-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.
-rw-r--r--linden/indra/newview/lltexturefetch.cpp11
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;