fix memory leak in AISequence

actorid
greye 11 years ago
parent 15d946415e
commit 61707694e8

@ -67,7 +67,10 @@ bool MWMechanics::AiSequence::getCombatTarget(std::string &targetActorId) const
void MWMechanics::AiSequence::stopCombat() void MWMechanics::AiSequence::stopCombat()
{ {
while (getTypeId() == AiPackage::TypeIdCombat) while (getTypeId() == AiPackage::TypeIdCombat)
{
delete *mPackages.begin();
mPackages.erase (mPackages.begin()); mPackages.erase (mPackages.begin());
}
} }
bool MWMechanics::AiSequence::isPackageDone() const bool MWMechanics::AiSequence::isPackageDone() const
@ -83,6 +86,7 @@ void MWMechanics::AiSequence::execute (const MWWorld::Ptr& actor,float duration)
{ {
if (mPackages.front()->execute (actor,duration)) if (mPackages.front()->execute (actor,duration))
{ {
delete *mPackages.begin();
mPackages.erase (mPackages.begin()); mPackages.erase (mPackages.begin());
mDone = true; mDone = true;
} }

Loading…
Cancel
Save