From d93ec94751e1c8c9a190b327720f432f9d9928c1 Mon Sep 17 00:00:00 2001 From: "prep@lindenlab.com" Date: Fri, 7 Jun 2013 14:43:18 -0500 Subject: sh-4109: Update agent appearance after attaching a rigged mesh --- indra/newview/llvovolume.cpp | 15 +++++++++++++-- 1 file changed, 13 insertions(+), 2 deletions(-) (limited to 'indra') diff --git a/indra/newview/llvovolume.cpp b/indra/newview/llvovolume.cpp index 8730ef66bb..b7f7a11a15 100755 --- a/indra/newview/llvovolume.cpp +++ b/indra/newview/llvovolume.cpp @@ -76,6 +76,7 @@ #include "llviewershadermgr.h" #include "llvoavatar.h" #include "llvocache.h" +#include "llappearancemgr.h" const S32 MIN_QUIET_FRAMES_COALESCE = 30; const F32 FORCE_SIMPLE_RENDER_AREA = 512.f; @@ -4239,6 +4240,8 @@ void LLVolumeGeometryManager::rebuildGeom(LLSpatialGroup* group) { LLFastTimer t(FTM_REBUILD_VOLUME_FACE_LIST); + bool requiredAppearanceUpdate = false; + //get all the faces into a list for (LLSpatialGroup::element_iter drawable_iter = group->getDataBegin(); drawable_iter != group->getDataEnd(); ++drawable_iter) { @@ -4337,6 +4340,7 @@ void LLVolumeGeometryManager::rebuildGeom(LLSpatialGroup* group) const int jointCnt = pSkinData->mJointNames.size(); const F32 pelvisZOffset = pSkinData->mPelvisOffset; bool fullRig = (jointCnt>=20) ? true : false; + requiredAppearanceUpdate = true; if ( fullRig ) { for ( int i=0; iclearState(LLDrawable::RIGGED); } } + + if ( requiredAppearanceUpdate && gAgent.getRegion() && gAgent.getRegion()->getCentralBakeVersion() ) + { + LLAppearanceMgr::instance().requestServerAppearanceUpdate(); + } } group->mBufferUsage = useage; -- cgit v1.2.3