summaryrefslogtreecommitdiff
path: root/indra/newview/llvovolume.cpp
diff options
context:
space:
mode:
authorprep linden <prep@lindenlab.com>2010-12-03 13:02:34 -0500
committerprep linden <prep@lindenlab.com>2010-12-03 13:02:34 -0500
commit4e922949a9a1e508a698ce5a03657f1417252d9f (patch)
tree01bee4096bb698e858e3e4ea60a428e92e052f4c /indra/newview/llvovolume.cpp
parent963e3346b1c81590d0c31097912e6481515f3722 (diff)
Fix for SH-479
Diffstat (limited to 'indra/newview/llvovolume.cpp')
-rw-r--r--indra/newview/llvovolume.cpp6
1 files changed, 4 insertions, 2 deletions
diff --git a/indra/newview/llvovolume.cpp b/indra/newview/llvovolume.cpp
index 39e286ac38..fa0f48fce6 100644
--- a/indra/newview/llvovolume.cpp
+++ b/indra/newview/llvovolume.cpp
@@ -4057,7 +4057,8 @@ void LLVolumeGeometryManager::rebuildGeom(LLSpatialGroup* group)
if ( pAvatarVO )
{
- const LLMeshSkinInfo* pSkinData = gMeshRepo.getSkinInfo( vobj->getVolume()->getParams().getSculptID() );
+ LLUUID currentId = vobj->getVolume()->getParams().getSculptID();
+ const LLMeshSkinInfo* pSkinData = gMeshRepo.getSkinInfo( currentId );
if ( pSkinData )
{
@@ -4069,8 +4070,9 @@ void LLVolumeGeometryManager::rebuildGeom(LLSpatialGroup* group)
{
std::string lookingForJoint = pSkinData->mJointNames[i].c_str();
LLJoint* pJoint = pAvatarVO->getJoint( lookingForJoint );
- if ( pJoint )
+ if ( pJoint && pJoint->getId() != currentId )
{
+ pJoint->setId( currentId );
const LLVector3& jointPos = pSkinData->mAlternateBindMatrix[i].getTranslation();
//If joint is a pelvis then handle by setting avPos+offset
if ( lookingForJoint == "mPelvis" )