Fixed a crash in OutdoorPvPObjective::UpdateActivePlayerProximityCheck caused by incrementing an already deleted iterator.

--HG--
branch : trunk
This commit is contained in:
w12x
2008-12-26 14:55:16 +01:00
parent 178ddecde6
commit d9e8f38eff
+4 -1
View File
@@ -446,8 +446,11 @@ void OutdoorPvPObjective::UpdateActivePlayerProximityCheck()
{ {
for(int team = 0; team < 2; ++team) for(int team = 0; team < 2; ++team)
{ {
for(std::set<uint64>::iterator itr = m_ActivePlayerGuids[team].begin(); itr != m_ActivePlayerGuids[team].end(); ++ itr) std::set<uint64>::iterator itr, next;
for(itr = m_ActivePlayerGuids[team].begin(); itr != m_ActivePlayerGuids[team].end(); itr = next)
{ {
next = itr;
++next;
// if the player is online // if the player is online
if(Player * pl = objmgr.GetPlayer(*itr)) if(Player * pl = objmgr.GetPlayer(*itr))
{ {