diff options
Diffstat (limited to 'indra/llcharacter/llmotioncontroller.cpp')
-rw-r--r-- | indra/llcharacter/llmotioncontroller.cpp | 10 |
1 files changed, 6 insertions, 4 deletions
diff --git a/indra/llcharacter/llmotioncontroller.cpp b/indra/llcharacter/llmotioncontroller.cpp index c0b072c357..b1fc20bf32 100644 --- a/indra/llcharacter/llmotioncontroller.cpp +++ b/indra/llcharacter/llmotioncontroller.cpp @@ -427,9 +427,10 @@ void LLMotionController::updateMotionsByType(LLMotion::LLMotionBlendType anim_ty // iterate through active motions in chronological order for (motion_list_t::iterator iter = mActiveMotions.begin(); - iter != mActiveMotions.end(); ++iter) + iter != mActiveMotions.end(); ) { - LLMotion* motionp = *iter; + motion_list_t::iterator curiter = iter++; + LLMotion* motionp = *curiter; if (motionp->getBlendType() != anim_type) { continue; @@ -842,9 +843,10 @@ void LLMotionController::flushAllMotions() std::vector<std::pair<LLUUID,F32> > active_motions; active_motions.reserve(mActiveMotions.size()); for (motion_list_t::iterator iter = mActiveMotions.begin(); - iter != mActiveMotions.end(); ++iter) + iter != mActiveMotions.end(); ) { - LLMotion* motionp = *iter; + motion_list_t::iterator curiter = iter++; + LLMotion* motionp = *curiter; F32 dtime = mTime - motionp->mActivationTimestamp; active_motions.push_back(std::make_pair(motionp->getID(),dtime)); motionp->deactivate(); |