diff options
| author | Sabrina Shanman <cosmic@lindenlab.com> | 2022-06-07 21:19:57 +0000 | 
|---|---|---|
| committer | Sabrina Shanman <cosmic@lindenlab.com> | 2022-06-07 21:19:57 +0000 | 
| commit | a4fc01f4105e0349ec891d2c0354fafb117c331f (patch) | |
| tree | 2c6daf01ef256d0aea53e15c92ffd4ea5d4ef31c | |
| parent | 99189ff2d5e96434cdc58115bbc03614f8e50773 (diff) | |
| parent | 7908ae701f245f6c15602b23b2073f6c0fe3fdb8 (diff) | |
Merged in SL-17489 (pull request #1010)
SL-17489
Approved-by: Dave Parks
| -rw-r--r-- | indra/newview/lltexturefetch.cpp | 9 | ||||
| -rw-r--r-- | indra/newview/llviewertexture.cpp | 7 | 
2 files changed, 12 insertions, 4 deletions
| diff --git a/indra/newview/lltexturefetch.cpp b/indra/newview/lltexturefetch.cpp index 0fa425cf22..0451bae3c9 100644 --- a/indra/newview/lltexturefetch.cpp +++ b/indra/newview/lltexturefetch.cpp @@ -1348,7 +1348,7 @@ bool LLTextureFetchWorker::doWork(S32 param)  				{  					if (mFTType != FTT_DEFAULT)  					{ -						LL_WARNS(LOG_TXT) << "trying to seek a non-default texture on the sim. Bad!" << LL_ENDL; +                        LL_WARNS(LOG_TXT) << "Trying to fetch a texture of non-default type by UUID. This probably won't work!" << LL_ENDL;  					}  					setUrl(http_url + "/?texture_id=" + mID.asString().c_str());  					LL_DEBUGS(LOG_TXT) << "Texture URL: " << mUrl << LL_ENDL; @@ -1671,7 +1671,7 @@ bool LLTextureFetchWorker::doWork(S32 param)  									  << LL_ENDL;  				} -				if (mFTType != FTT_SERVER_BAKE) +                if (mFTType != FTT_SERVER_BAKE && mFTType != FTT_MAP_TILE)  				{  					mUrl.clear();  				} @@ -2695,6 +2695,11 @@ bool LLTextureFetch::createRequest(FTType f_type, const std::string& url, const  			return false; // need to wait for previous aborted request to complete  		}  		worker->lockWorkMutex();										// +Mw +        if (worker->mState == LLTextureFetchWorker::DONE && worker->mDesiredSize == llmax(desired_size, TEXTURE_CACHE_ENTRY_SIZE) && worker->mDesiredDiscard == desired_discard) { +			worker->unlockWorkMutex();									// -Mw + +            return false; // similar request has failed or is in a transitional state +        }  		worker->mActiveCount++;  		worker->mNeedsAux = needs_aux;  		worker->setImagePriority(priority); diff --git a/indra/newview/llviewertexture.cpp b/indra/newview/llviewertexture.cpp index b7633545f9..16b07159ba 100644 --- a/indra/newview/llviewertexture.cpp +++ b/indra/newview/llviewertexture.cpp @@ -2212,8 +2212,11 @@ bool LLViewerFetchedTexture::updateFetch()  													   mFetchPriority, mFetchDeltaTime, mRequestDeltaTime, mCanUseHTTP);  		} -		// if createRequest() failed, we're finishing up a request for this UUID, -		// wait for it to complete +        // If createRequest() failed, that means one of two things: +        // 1. We're finishing up a request for this UUID, so we +        //    should wait for it to complete +        // 2. We've failed a request for this UUID, so there is +        //    no need to create another request  	}  	else if (mHasFetcher && !mIsFetching)  	{ | 
