From b4d61b6e63dd04f8b67edcf32ea513295843157b Mon Sep 17 00:00:00 2001 From: "Nyx (Neal Orman)" Date: Thu, 4 Feb 2010 14:53:18 -0500 Subject: EXT-4003 Appearance problemw earing City Chic Female - probably param related cross-wearable params are fun! Values were not being updated properly for parameters that cross multiple wearables. Created a few functions to ensure that these values get updated and made them called from LLAgentWearables::wearableUpdated(). Also prevented cross-wearable params from writing back to the avatar, as they are being driven by another wearable. Code reviewed by Bigpapi --- indra/newview/llvoavatarself.cpp | 1 + 1 file changed, 1 insertion(+) (limited to 'indra/newview/llvoavatarself.cpp') diff --git a/indra/newview/llvoavatarself.cpp b/indra/newview/llvoavatarself.cpp index ecd6b05ded..b1ea8a1bbb 100644 --- a/indra/newview/llvoavatarself.cpp +++ b/indra/newview/llvoavatarself.cpp @@ -1966,6 +1966,7 @@ void LLVOAvatarSelf::forceBakeAllTextures(bool slam_for_debug) // Don't know if this is needed updateMeshTextures(); + } //----------------------------------------------------------------------------- -- cgit v1.2.3 From 443993bc19f4517ec41f896443d71110fb6202a7 Mon Sep 17 00:00:00 2001 From: "Eric M. Tulla (BigPapi)" Date: Fri, 5 Feb 2010 16:15:43 -0500 Subject: EXT-4739 - Crash on teleport after viewer minimize. Making sure we don't accidentally set av self to null & added a few more null checks. -Reviewed by nyx --- indra/newview/llvoavatarself.cpp | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) (limited to 'indra/newview/llvoavatarself.cpp') diff --git a/indra/newview/llvoavatarself.cpp b/indra/newview/llvoavatarself.cpp index b1ea8a1bbb..13e28b246a 100644 --- a/indra/newview/llvoavatarself.cpp +++ b/indra/newview/llvoavatarself.cpp @@ -510,8 +510,12 @@ BOOL LLVOAvatarSelf::buildMenus() LLVOAvatarSelf::~LLVOAvatarSelf() { - gAgent.setAvatarObject(NULL); - gAgentWearables.setAvatarObject(NULL); + // gAgents pointer might have been set to a different Avatar Self, don't get rid of it if so. + if (gAgent.getAvatarObject() == this) + { + gAgent.setAvatarObject(NULL); + gAgentWearables.setAvatarObject(NULL); + } delete mScreenp; mScreenp = NULL; } -- cgit v1.2.3 From d0e96bf4b2720ed8177b323e12cadb4e65d7171d Mon Sep 17 00:00:00 2001 From: "Nyx (Neal Orman)" Date: Tue, 9 Feb 2010 17:43:16 -0500 Subject: EXT-4569 alpha preview not working after alpha is saved We were setting the baked texture ID to IMG_INVISIBLE when hitting the save button on the appearance editor to force the right texture IDs to be sent to surrounding viewers. Now, when you make a change after it is saved, it clears this texture ID. This restores expected functionality. Code reviewed by bigpapi. -Nyx --- indra/newview/llvoavatarself.cpp | 7 +++++++ 1 file changed, 7 insertions(+) (limited to 'indra/newview/llvoavatarself.cpp') diff --git a/indra/newview/llvoavatarself.cpp b/indra/newview/llvoavatarself.cpp index 13e28b246a..00998b300a 100644 --- a/indra/newview/llvoavatarself.cpp +++ b/indra/newview/llvoavatarself.cpp @@ -932,6 +932,13 @@ void LLVOAvatarSelf::wearableUpdated( EWearableType type, BOOL upload_result ) { 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 (gAgent.cameraCustomizeAvatar()) + { + setNewBakedTexture(index,IMG_DEFAULT_AVATAR); + } if (baked_dict) { for (LLVOAvatarDefines::wearables_vec_t::const_iterator type_iter = baked_dict->mWearables.begin(); -- cgit v1.2.3