diff options
| -rwxr-xr-x | indra/newview/lldrawpoolavatar.cpp | 8 | ||||
| -rwxr-xr-x | indra/newview/llvovolume.cpp | 4 | 
2 files changed, 12 insertions, 0 deletions
| diff --git a/indra/newview/lldrawpoolavatar.cpp b/indra/newview/lldrawpoolavatar.cpp index 821d58a9b2..f828b56f7f 100755 --- a/indra/newview/lldrawpoolavatar.cpp +++ b/indra/newview/lldrawpoolavatar.cpp @@ -1600,6 +1600,14 @@ void LLDrawPoolAvatar::updateRiggedFaceVertexBuffer(LLVOAvatar* avatar, LLFace*  		for (U32 j = 0; j < count; ++j)  		{  			LLJoint* joint = avatar->getJoint(skin->mJointNames[j]); +			if (!joint) +			{ +				joint = avatar->getJoint("mPelvis"); +			} +			if (!joint) +			{ +				LL_DEBUGS("Avatar") << "Failed to find " << skin->mJointNames[j] << LL_ENDL; +			}  			if (joint)  			{  				mat[j] = skin->mInvBindMatrix[j]; diff --git a/indra/newview/llvovolume.cpp b/indra/newview/llvovolume.cpp index 0432f6f27c..267061b83d 100755 --- a/indra/newview/llvovolume.cpp +++ b/indra/newview/llvovolume.cpp @@ -4172,6 +4172,10 @@ void LLRiggedVolume::update(const LLMeshSkinInfo* skin, LLVOAvatar* avatar, cons  	for (U32 j = 0; j < maxJoints; ++j)  	{  		LLJoint* joint = avatar->getJoint(skin->mJointNames[j]); +        if (!joint) +        { +            joint = avatar->getJoint("mPelvis"); +        }  		if (joint)  		{  			mat[j] = skin->mInvBindMatrix[j]; | 
