diff options
| author | Loren Shih <seraph@lindenlab.com> | 2010-06-24 14:45:36 -0400 | 
|---|---|---|
| committer | Loren Shih <seraph@lindenlab.com> | 2010-06-24 14:45:36 -0400 | 
| commit | 1d683a65a25894e29b18fbb85d0802171da83405 (patch) | |
| tree | 91f50be8b65f59353f765d292726c84e6e05a074 | |
| parent | 9196490315e072f6f8b4cd97c58bc0b52700faf1 (diff) | |
EXT-7818 FIXED Click on Take Off on my shoes fro inventory doesn't remove shoe
Added additional logic to tell if you're in edit outfit mode, removed some bad code that was causing removed wearables to never send out an appearance update.
| -rw-r--r-- | indra/newview/llagentwearables.cpp | 2 | ||||
| -rw-r--r-- | indra/newview/lltexlayer.cpp | 3 | ||||
| -rw-r--r-- | indra/newview/llvoavatarself.cpp | 10 | ||||
| -rw-r--r-- | indra/newview/llvoavatarself.h | 1 | 
4 files changed, 14 insertions, 2 deletions
diff --git a/indra/newview/llagentwearables.cpp b/indra/newview/llagentwearables.cpp index 017fcf6e2b..bca92a60be 100644 --- a/indra/newview/llagentwearables.cpp +++ b/indra/newview/llagentwearables.cpp @@ -804,7 +804,7 @@ void LLAgentWearables::popWearable(const LLWearableType::EType type, U32 index)  	if (wearable)  	{  		mWearableDatas[type].erase(mWearableDatas[type].begin() + index); -		gAgentAvatarp->wearableUpdated(wearable->getType(), FALSE); +		gAgentAvatarp->wearableUpdated(wearable->getType(), TRUE);  		wearable->setLabelUpdated();  	}  } diff --git a/indra/newview/lltexlayer.cpp b/indra/newview/lltexlayer.cpp index 5d51e32515..46bd55de43 100644 --- a/indra/newview/lltexlayer.cpp +++ b/indra/newview/lltexlayer.cpp @@ -341,7 +341,8 @@ BOOL LLTexLayerSetBuffer::isReadyToUpload() const  {  	if (!mNeedsUpload) return FALSE; // Don't need to upload if we haven't requested one.  	if (!gAgentQueryManager.hasNoPendingQueries()) return FALSE; // Can't upload if there are pending queries. -	 +	if (isAgentAvatarValid() && !gAgentAvatarp->isUsingBakedTextures()) return FALSE; // Don't upload if avatar is using composites. +  	// If we requested an upload and have the final LOD ready, then upload.  	const BOOL can_highest_lod = mTexLayerSet->isLocalTextureDataFinal();  	if (can_highest_lod) return TRUE; diff --git a/indra/newview/llvoavatarself.cpp b/indra/newview/llvoavatarself.cpp index 91af5fefde..982d9c375c 100644 --- a/indra/newview/llvoavatarself.cpp +++ b/indra/newview/llvoavatarself.cpp @@ -2261,6 +2261,16 @@ void LLVOAvatarSelf::processRebakeAvatarTextures(LLMessageSystem* msg, void**)  	}  } +BOOL LLVOAvatarSelf::isUsingBakedTextures() const +{ +	// Composite textures are used during appearance mode. +	if (gAgentCamera.cameraCustomizeAvatar()) +		return FALSE; + +	return TRUE; +} + +  void LLVOAvatarSelf::forceBakeAllTextures(bool slam_for_debug)  {  	llinfos << "TAT: forced full rebake. " << llendl; diff --git a/indra/newview/llvoavatarself.h b/indra/newview/llvoavatarself.h index 55b4fd87c8..630afe7a0f 100644 --- a/indra/newview/llvoavatarself.h +++ b/indra/newview/llvoavatarself.h @@ -217,6 +217,7 @@ public:  	void				setCachedBakedTexture(LLVOAvatarDefines::ETextureIndex i, const LLUUID& uuid);  	void				forceBakeAllTextures(bool slam_for_debug = false);  	static void			processRebakeAvatarTextures(LLMessageSystem* msg, void**); +	BOOL				isUsingBakedTextures() const; // e.g. false if in appearance edit mode  protected:  	/*virtual*/ void	removeMissingBakedTextures();  | 
