From dda7cb5791926d31733a33faa436059ec64df57b Mon Sep 17 00:00:00 2001 From: Shyotl Date: Mon, 10 Feb 2014 20:20:03 -0600 Subject: [PATCH] Lazy workaround avoiding undefined behavior for rigged meshes with invalid joints. --- indra/newview/lldrawpoolavatar.cpp | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/indra/newview/lldrawpoolavatar.cpp b/indra/newview/lldrawpoolavatar.cpp index 6bbb66fbc..eba3d2606 100644 --- a/indra/newview/lldrawpoolavatar.cpp +++ b/indra/newview/lldrawpoolavatar.cpp @@ -1575,6 +1575,10 @@ 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("mRoot"); + } if (joint) { mat[j] = skin->mInvBindMatrix[j]; @@ -1703,6 +1707,10 @@ void LLDrawPoolAvatar::renderRigged(LLVOAvatar* avatar, U32 type, bool glow) for (U32 i = 0; i < count; ++i) { LLJoint* joint = avatar->getJoint(skin->mJointNames[i]); + if(!joint) + { + joint = avatar->getJoint("mRoot"); + } if (joint) { mat[i] = skin->mInvBindMatrix[i];