*Try to fix the bug that stealth spells cause crash.

--HG--
branch : trunk
This commit is contained in:
megamage
2008-11-26 23:10:02 -06:00
parent 1d4da0c217
commit 184c75247b

View File

@@ -492,11 +492,16 @@ void Unit::RemoveAurasWithInterruptFlags(uint32 flag)
//sLog.outDetail("auraflag:%u flag:%u = %u",(*iter)->GetSpellProto()->AuraInterruptFlags,flag,(*iter)->GetSpellProto()->AuraInterruptFlags & flag);
if(*iter && ((*iter)->GetSpellProto()->AuraInterruptFlags & flag))
{
RemoveAurasDueToSpell((*iter)->GetId());
if (!m_interruptableAuras.empty())
next = m_interruptableAuras.begin();
if((*iter)->IsInUse())
sLog.outError("Aura %u is trying to remove itself! Flag %u. May cause crash!", (*iter)->GetId(), flag);
else
break;
{
RemoveAurasDueToSpell((*iter)->GetId());
if (!m_interruptableAuras.empty())
next = m_interruptableAuras.begin();
else
break;
}
}
}