aboutsummaryrefslogtreecommitdiff
path: root/src/game/Unit.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/game/Unit.cpp')
-rw-r--r--src/game/Unit.cpp12
1 files changed, 6 insertions, 6 deletions
diff --git a/src/game/Unit.cpp b/src/game/Unit.cpp
index ec132ee3e7b..94a88fba710 100644
--- a/src/game/Unit.cpp
+++ b/src/game/Unit.cpp
@@ -4135,13 +4135,13 @@ void Unit::RemoveAllAuras()
void Unit::RemoveAllAuras(uint64 casterGUID, Aura * except /*=NULL*/, bool negative /*=true*/, bool positive /*=true*/)
{
- AuraMap::iterator iter = m_Auras.begin();
- while (!m_Auras.empty())
+ for(AuraMap::iterator iter = m_Auras.begin(); iter != m_Auras.end();)
{
- Aura * aur = (*iter).second;
- if (aur != except && (!casterGUID || aur->GetCasterGUID()==casterGUID)
- && ((negative && !aur->IsPositive()) || (positive && aur->IsPositive())))
- RemoveAura(aur);
+ if (iter->second != except && (!casterGUID || iter->second->GetCasterGUID()==casterGUID)
+ && ((negative && !iter->second->IsPositive()) || (positive && iter->second->IsPositive())))
+ RemoveAura(iter);
+ else
+ ++iter;
}
}