diff options
author | Tofu Linden <tofu.linden@lindenlab.com> | 2010-04-12 11:55:54 +0100 |
---|---|---|
committer | Tofu Linden <tofu.linden@lindenlab.com> | 2010-04-12 11:55:54 +0100 |
commit | f8f1e30ac385906230ef0532c0a68aff293de4cb (patch) | |
tree | ff932bd127278e8d6fd6f9f29056b8c89dc8260c /indra/llcharacter | |
parent | e9a94a04ff3562742c52bba45b8377fce9eeaad6 (diff) | |
parent | d6996c7d3da4ddbb81a7758e508c1aa477d4edc4 (diff) |
slightly-hairy merge from viewer-trunk
Diffstat (limited to 'indra/llcharacter')
-rw-r--r-- | indra/llcharacter/llkeyframemotion.cpp | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/indra/llcharacter/llkeyframemotion.cpp b/indra/llcharacter/llkeyframemotion.cpp index 5a2e3f73f9..f4dc3b927b 100644 --- a/indra/llcharacter/llkeyframemotion.cpp +++ b/indra/llcharacter/llkeyframemotion.cpp @@ -658,7 +658,12 @@ BOOL LLKeyframeMotion::onActivate() // If the keyframe anim has an associated emote, trigger it. if( mJointMotionList->mEmoteName.length() > 0 ) { - mCharacter->startMotion( gAnimLibrary.stringToAnimState(mJointMotionList->mEmoteName) ); + LLUUID emote_anim_id = gAnimLibrary.stringToAnimState(mJointMotionList->mEmoteName); + // don't start emote if already active to avoid recursion + if (!mCharacter->isMotionActive(emote_anim_id)) + { + mCharacter->startMotion( emote_anim_id ); + } } mLastLoopedTime = 0.f; |