aboutsummaryrefslogtreecommitdiffstatshomepage
diff options
context:
space:
mode:
authorMcCabe Maxsted2010-08-07 01:54:04 -0700
committerMcCabe Maxsted2010-08-07 06:26:17 -0700
commitd94d9e35ff9f36a63386d9cd2d893895f005d6d7 (patch)
tree8df3ee3d5fc78d5d65475947e841b46d776b4cdb
parentApplied patch by Robin Cornelius for SNOW-780: textures fetched via http are ... (diff)
downloadmeta-impy-d94d9e35ff9f36a63386d9cd2d893895f005d6d7.zip
meta-impy-d94d9e35ff9f36a63386d9cd2d893895f005d6d7.tar.gz
meta-impy-d94d9e35ff9f36a63386d9cd2d893895f005d6d7.tar.bz2
meta-impy-d94d9e35ff9f36a63386d9cd2d893895f005d6d7.tar.xz
Applied patch by Robin Cornelius for SNOW-792: When using http textures, the viewer re-bakes the avatar's textures over and over
-rw-r--r--linden/indra/newview/lltexturefetch.cpp27
1 files changed, 23 insertions, 4 deletions
diff --git a/linden/indra/newview/lltexturefetch.cpp b/linden/indra/newview/lltexturefetch.cpp
index 820eaf7..c9d8369 100644
--- a/linden/indra/newview/lltexturefetch.cpp
+++ b/linden/indra/newview/lltexturefetch.cpp
@@ -920,12 +920,18 @@ bool LLTextureFetchWorker::doWork(S32 param)
920 920
921 //roll back to try UDP 921 //roll back to try UDP
922 if(mCanUseNET) 922 if(mCanUseNET)
923 { 923 {
924 mState = INIT ; 924 mState = INIT ;
925 mCanUseHTTP = false ; 925 mCanUseHTTP = false ;
926 setPriority(LLWorkerThread::PRIORITY_HIGH | mWorkPriority); 926 setPriority(LLWorkerThread::PRIORITY_HIGH | mWorkPriority);
927 return false ; 927 return false ;
928 } 928 }
929 else
930 {
931 // UDP is not an option, we are dead
932 resetFormattedData();
933 return true; // failed
934 }
929 } 935 }
930 else if (mGetStatus == HTTP_SERVICE_UNAVAILABLE) 936 else if (mGetStatus == HTTP_SERVICE_UNAVAILABLE)
931 { 937 {
@@ -948,7 +954,8 @@ bool LLTextureFetchWorker::doWork(S32 param)
948 954
949 if (mHTTPFailCount >= max_attempts) 955 if (mHTTPFailCount >= max_attempts)
950 { 956 {
951 if (cur_size > 0) 957 // Make max_attempts attempt at decoding what data we have, then bail forever on this image
958 if (cur_size > 0 && (mHTTPFailCount < (max_attempts+1)) )
952 { 959 {
953 // Use available data 960 // Use available data
954 mLoadedDiscard = mFormattedImage->getDiscardLevel(); 961 mLoadedDiscard = mFormattedImage->getDiscardLevel();
@@ -957,8 +964,20 @@ bool LLTextureFetchWorker::doWork(S32 param)
957 } 964 }
958 else 965 else
959 { 966 {
960 resetFormattedData(); 967 //roll back to try UDP
961 return true; // failed 968 if(mCanUseNET)
969 {
970 mState = INIT ;
971 mCanUseHTTP = false ;
972 setPriority(LLWorkerThread::PRIORITY_HIGH | mWorkPriority);
973 return false ;
974 }
975 else
976 {
977 // UDP is not an option, we are dead
978 resetFormattedData();
979 return true; // failed
980 }
962 } 981 }
963 } 982 }
964 else 983 else