mirror of
https://github.com/OpenMW/openmw.git
synced 2025-02-05 20:15:33 +00:00
Fix invalidated iterator
This commit is contained in:
parent
a4d0068e29
commit
140013820b
1 changed files with 4 additions and 2 deletions
|
@ -70,11 +70,13 @@ namespace MWMechanics
|
||||||
if (mPermanentSpellEffects.find(lower) != mPermanentSpellEffects.end())
|
if (mPermanentSpellEffects.find(lower) != mPermanentSpellEffects.end())
|
||||||
{
|
{
|
||||||
MagicEffects & effects = mPermanentSpellEffects[lower];
|
MagicEffects & effects = mPermanentSpellEffects[lower];
|
||||||
for (MagicEffects::Collection::const_iterator effectIt = effects.begin(); effectIt != effects.end(); ++effectIt)
|
for (MagicEffects::Collection::const_iterator effectIt = effects.begin(); effectIt != effects.end();)
|
||||||
{
|
{
|
||||||
const ESM::MagicEffect * magicEffect = MWBase::Environment::get().getWorld()->getStore().get<ESM::MagicEffect>().find(effectIt->first.mId);
|
const ESM::MagicEffect * magicEffect = MWBase::Environment::get().getWorld()->getStore().get<ESM::MagicEffect>().find(effectIt->first.mId);
|
||||||
if (magicEffect->mData.mFlags & ESM::MagicEffect::Harmful)
|
if (magicEffect->mData.mFlags & ESM::MagicEffect::Harmful)
|
||||||
effects.remove(effectIt->first);
|
effects.remove((effectIt++)->first);
|
||||||
|
else
|
||||||
|
++effectIt;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
mCorprusSpells.erase(corprusIt);
|
mCorprusSpells.erase(corprusIt);
|
||||||
|
|
Loading…
Reference in a new issue