diff options
-rw-r--r-- | ChangeLog.txt | 8 | ||||
-rw-r--r-- | linden/indra/llcharacter/llkeyframemotion.cpp | 9 |
2 files changed, 14 insertions, 3 deletions
diff --git a/ChangeLog.txt b/ChangeLog.txt index d89feec..36c8f2d 100644 --- a/ChangeLog.txt +++ b/ChangeLog.txt | |||
@@ -1,3 +1,11 @@ | |||
1 | 2010-03-01 McCabe Maxsted <hakushakukun@gmail.com> | ||
2 | |||
3 | * Applied slviewer-0-v11905-UnknownJointsCrashFix_v2.patch from CV to fix crash when encountering | ||
4 | avatars using multiple attachment points. | ||
5 | |||
6 | modified: linden/indra/llcharacter/llkeyframemotion.cpp | ||
7 | |||
8 | |||
1 | =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- | 9 | =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- |
2 | =- 1.3.0 BETA 1 -= | 10 | =- 1.3.0 BETA 1 -= |
3 | =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- | 11 | =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- |
diff --git a/linden/indra/llcharacter/llkeyframemotion.cpp b/linden/indra/llcharacter/llkeyframemotion.cpp index e6ef767..4cb2227 100644 --- a/linden/indra/llcharacter/llkeyframemotion.cpp +++ b/linden/indra/llcharacter/llkeyframemotion.cpp | |||
@@ -1159,9 +1159,12 @@ void LLKeyframeMotion::applyConstraint(JointConstraint* constraint, F32 time, U8 | |||
1159 | { | 1159 | { |
1160 | LLVector3 delta = source_to_target * weight; | 1160 | LLVector3 delta = source_to_target * weight; |
1161 | LLPointer<LLJointState> current_joint_state = getJointState(shared_data->mJointStateIndices[0]); | 1161 | LLPointer<LLJointState> current_joint_state = getJointState(shared_data->mJointStateIndices[0]); |
1162 | LLQuaternion parent_rot = current_joint_state->getJoint()->getParent()->getWorldRotation(); | 1162 | if (current_joint_state->getJoint()) |
1163 | delta = delta * ~parent_rot; | 1163 | { |
1164 | current_joint_state->setPosition(current_joint_state->getJoint()->getPosition() + delta); | 1164 | LLQuaternion parent_rot = current_joint_state->getJoint()->getParent()->getWorldRotation(); |
1165 | delta = delta * ~parent_rot; | ||
1166 | current_joint_state->setPosition(current_joint_state->getJoint()->getPosition() + delta); | ||
1167 | } | ||
1165 | } | 1168 | } |
1166 | } | 1169 | } |
1167 | 1170 | ||