summaryrefslogtreecommitdiff
path: root/indra/llcharacter/llkeyframemotion.cpp
diff options
context:
space:
mode:
authorTofu Linden <tofu.linden@lindenlab.com>2010-04-12 11:57:07 +0100
committerTofu Linden <tofu.linden@lindenlab.com>2010-04-12 11:57:07 +0100
commitc330e26db8b2a3a3fef9eed6225594323090cdb9 (patch)
tree1658cafc671065730ca7380cda375c801013c614 /indra/llcharacter/llkeyframemotion.cpp
parent49b1995d27e65f1836224c80f3980e133441b0c8 (diff)
parentd6996c7d3da4ddbb81a7758e508c1aa477d4edc4 (diff)
slightly conflicty merge from viewer-trunk, again
Diffstat (limited to 'indra/llcharacter/llkeyframemotion.cpp')
-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;