diff options
| -rw-r--r-- | indra/llmessage/llcurl.cpp | 7 | ||||
| -rw-r--r-- | indra/newview/llagentcamera.cpp | 1 | ||||
| -rw-r--r-- | indra/newview/llagentwearables.cpp | 4 | ||||
| -rw-r--r-- | indra/newview/llappearancemgr.cpp | 2 | ||||
| -rw-r--r-- | indra/newview/lltexturefetch.cpp | 20 | ||||
| -rw-r--r-- | indra/newview/llvoavatarself.cpp | 6 | ||||
| -rw-r--r-- | indra/newview/llvoicevivox.cpp | 1 | ||||
| -rw-r--r-- | indra/newview/llwearable.cpp | 2 | 
8 files changed, 27 insertions, 16 deletions
diff --git a/indra/llmessage/llcurl.cpp b/indra/llmessage/llcurl.cpp index 91e11b8c0d..36874a5d48 100644 --- a/indra/llmessage/llcurl.cpp +++ b/indra/llmessage/llcurl.cpp @@ -365,6 +365,13 @@ U32 LLCurl::Easy::report(CURLcode code)  		responseReason = strerror(code) + " : " + mErrorBuffer;  	} +	if(responseCode >= 300 && responseCode < 400) //redirect +	{ +		char new_url[512] ; +		curl_easy_getinfo(mCurlEasyHandle, CURLINFO_REDIRECT_URL, new_url); +		responseReason = new_url ; //get the new URL. +	} +  	if (mResponder)  	{	  		mResponder->completedRaw(responseCode, responseReason, mChannels, mOutput); diff --git a/indra/newview/llagentcamera.cpp b/indra/newview/llagentcamera.cpp index 644363826a..c3f075fd49 100644 --- a/indra/newview/llagentcamera.cpp +++ b/indra/newview/llagentcamera.cpp @@ -2360,6 +2360,7 @@ void LLAgentCamera::changeCameraToCustomizeAvatar(BOOL avatar_animate, BOOL came  				mAnimationDuration = gSavedSettings.getF32("ZoomTime");  			}  		} +		gAgentAvatarp->updateMeshTextures();  	}  	else  	{ diff --git a/indra/newview/llagentwearables.cpp b/indra/newview/llagentwearables.cpp index d823a3cbbb..d79a1e80ed 100644 --- a/indra/newview/llagentwearables.cpp +++ b/indra/newview/llagentwearables.cpp @@ -732,7 +732,7 @@ U32 LLAgentWearables::pushWearable(const LLWearableType::EType type, LLWearable  void LLAgentWearables::wearableUpdated(LLWearable *wearable)  { -	gAgentAvatarp->wearableUpdated(wearable->getType(), TRUE); +	gAgentAvatarp->wearableUpdated(wearable->getType(), FALSE);  	wearable->refreshName();  	wearable->setLabelUpdated(); @@ -776,7 +776,7 @@ void LLAgentWearables::popWearable(const LLWearableType::EType type, U32 index)  	if (wearable)  	{  		mWearableDatas[type].erase(mWearableDatas[type].begin() + index); -		gAgentAvatarp->wearableUpdated(wearable->getType(), TRUE); +		gAgentAvatarp->wearableUpdated(wearable->getType(), FALSE);  		wearable->setLabelUpdated();  	}  } diff --git a/indra/newview/llappearancemgr.cpp b/indra/newview/llappearancemgr.cpp index a899926938..1032da4990 100644 --- a/indra/newview/llappearancemgr.cpp +++ b/indra/newview/llappearancemgr.cpp @@ -2080,7 +2080,7 @@ bool LLAppearanceMgr::moveWearable(LLViewerInventoryItem* item, bool closer_to_b  	bool result = false;  	if (result = gAgentWearables.moveWearable(item, closer_to_body))  	{ -		gAgentAvatarp->wearableUpdated(item->getWearableType(), TRUE); +		gAgentAvatarp->wearableUpdated(item->getWearableType(), FALSE);  	}  	setOutfitDirty(true); diff --git a/indra/newview/lltexturefetch.cpp b/indra/newview/lltexturefetch.cpp index 74b7f123d8..52d227f827 100644 --- a/indra/newview/lltexturefetch.cpp +++ b/indra/newview/lltexturefetch.cpp @@ -329,11 +329,7 @@ public:  					partial = true;  				}  			} -			else -			{ -				worker->setGetStatus(status, reason); -// 				llwarns << status << ": " << reason << llendl; -			} +  			if (!success)  			{  				worker->setGetStatus(status, reason); @@ -912,7 +908,7 @@ bool LLTextureFetchWorker::doWork(S32 param)  				if (mGetStatus == HTTP_NOT_FOUND)  				{  					mHTTPFailCount = max_attempts = 1; // Don't retry -					//llwarns << "Texture missing from server (404): " << mUrl << llendl; +					llwarns << "Texture missing from server (404): " << mUrl << llendl;  					//roll back to try UDP  					if(mCanUseNET) @@ -932,6 +928,17 @@ bool LLTextureFetchWorker::doWork(S32 param)  					max_attempts = mHTTPFailCount+1; // Keep retrying  					LL_INFOS_ONCE("Texture") << "Texture server busy (503): " << mUrl << LL_ENDL;  				} +				else if(mGetStatus >= HTTP_MULTIPLE_CHOICES && mGetStatus < HTTP_BAD_REQUEST) //http re-direct +				{ +					++mHTTPFailCount; +					max_attempts = 5 ; //try at most 5 times to avoid infinite redirection loop. + +					llwarns << "HTTP GET failed because of redirection: "  << mUrl +							<< " Status: " << mGetStatus << " Reason: '" << mGetReason << llendl ; + +					//assign to the new url +					mUrl = mGetReason ; +				}  				else  				{  					const S32 HTTP_MAX_RETRY_COUNT = 3; @@ -941,6 +948,7 @@ bool LLTextureFetchWorker::doWork(S32 param)  							<< " Status: " << mGetStatus << " Reason: '" << mGetReason << "'"  							<< " Attempt:" << mHTTPFailCount+1 << "/" << max_attempts << llendl;  				} +  				if (mHTTPFailCount >= max_attempts)  				{  					if (cur_size > 0) diff --git a/indra/newview/llvoavatarself.cpp b/indra/newview/llvoavatarself.cpp index 91a5c50b50..6e7df878bb 100644 --- a/indra/newview/llvoavatarself.cpp +++ b/indra/newview/llvoavatarself.cpp @@ -975,12 +975,6 @@ void LLVOAvatarSelf::wearableUpdated( LLWearableType::EType type, BOOL upload_re  		const LLVOAvatarDictionary::BakedEntry *baked_dict = baked_iter->second;  		const LLVOAvatarDefines::EBakedTextureIndex index = baked_iter->first; -		// if we're editing our appearance, ensure that we're not using baked textures -		// The baked texture for alpha masks is set explicitly when you hit "save" -		if (gAgentCamera.cameraCustomizeAvatar()) -		{ -			setNewBakedTexture(index,IMG_DEFAULT_AVATAR); -		}  		if (baked_dict)  		{  			for (LLVOAvatarDefines::wearables_vec_t::const_iterator type_iter = baked_dict->mWearables.begin(); diff --git a/indra/newview/llvoicevivox.cpp b/indra/newview/llvoicevivox.cpp index c6c155f0f0..d6028b78cb 100644 --- a/indra/newview/llvoicevivox.cpp +++ b/indra/newview/llvoicevivox.cpp @@ -5112,6 +5112,7 @@ void LLVivoxVoiceClient::setVoiceEnabled(bool enabled)  			LLVoiceChannel::getCurrentVoiceChannel()->deactivate();  			status = LLVoiceClientStatusObserver::STATUS_VOICE_DISABLED;  		} +		notifyStatusObservers(status);		  	}  } diff --git a/indra/newview/llwearable.cpp b/indra/newview/llwearable.cpp index 121e691710..46c736c853 100644 --- a/indra/newview/llwearable.cpp +++ b/indra/newview/llwearable.cpp @@ -705,7 +705,7 @@ void LLWearable::removeFromAvatar( LLWearableType::EType type, BOOL upload_bake  	}  	gAgentAvatarp->updateVisualParams(); -	gAgentAvatarp->wearableUpdated(type, TRUE); +	gAgentAvatarp->wearableUpdated(type, FALSE);  //	if( upload_bake )  //	{  | 
