diff options
author | McCabe Maxsted | 2010-08-07 01:54:04 -0700 |
---|---|---|
committer | McCabe Maxsted | 2010-08-07 06:26:17 -0700 |
commit | d94d9e35ff9f36a63386d9cd2d893895f005d6d7 (patch) | |
tree | 8df3ee3d5fc78d5d65475947e841b46d776b4cdb | |
parent | Applied patch by Robin Cornelius for SNOW-780: textures fetched via http are ... (diff) | |
download | meta-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.cpp | 27 |
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 |