1
0
Fork 0
mirror of https://github.com/OpenMW/openmw.git synced 2025-04-16 01:36:44 +00:00

avoid locking up in case actor updates repeatedly throw exceptions

This commit is contained in:
Marc Zinnschlag 2012-07-17 18:37:20 +02:00
parent 6744375636
commit 483b125aad

View file

@ -126,15 +126,16 @@ namespace MWMechanics
if (mDuration>=0.25) if (mDuration>=0.25)
{ {
float totalDuration = mDuration;
mDuration = 0;
for (std::set<MWWorld::Ptr>::iterator iter (mActors.begin()); iter!=mActors.end(); ++iter) for (std::set<MWWorld::Ptr>::iterator iter (mActors.begin()); iter!=mActors.end(); ++iter)
{ {
updateActor (*iter, mDuration); updateActor (*iter, totalDuration);
if (iter->getTypeName()==typeid (ESM::NPC).name()) if (iter->getTypeName()==typeid (ESM::NPC).name())
updateNpc (*iter, mDuration, paused); updateNpc (*iter, totalDuration, paused);
} }
mDuration = 0;
} }
for (std::set<MWWorld::Ptr>::iterator iter (mActors.begin()); iter!=mActors.end(); for (std::set<MWWorld::Ptr>::iterator iter (mActors.begin()); iter!=mActors.end();