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 /indra/newview | |
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.
Diffstat (limited to 'indra/newview')
-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(); |