summaryrefslogtreecommitdiff
path: root/indra/llcharacter
diff options
context:
space:
mode:
authorDave Parks <davep@lindenlab.com>2010-04-14 12:12:03 -0500
committerDave Parks <davep@lindenlab.com>2010-04-14 12:12:03 -0500
commita7e1745bed2e8c22843b946700b4ae9c8fbf8ac9 (patch)
tree40d0b8bc9c5715f55e2870c5e2e4b534e01a774b /indra/llcharacter
parent6b72149cf7ad90c0036d9b037594b0a8e86dc483 (diff)
parent168ef83bcfae2a03c385a91a70e12a6fc773e3c5 (diff)
Merge
Diffstat (limited to 'indra/llcharacter')
-rw-r--r--indra/llcharacter/llkeyframemotion.cpp7
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;