[7425] Fixed crash in BattleGround::Update() Author: Triply

--HG--
branch : trunk
This commit is contained in:
megamage
2009-03-09 17:58:04 -06:00
parent 3d3656297f
commit a32382a5ec
2 changed files with 10 additions and 3 deletions
+9 -2
View File
@@ -244,6 +244,7 @@ void BattleGround::Update(uint32 diff)
{
RemovePlayerAtLeave(itr->first, true, true);// remove player from BG
m_OfflineQueue.pop_front(); // remove from offline queue
//do not use itr for anything, because it is erased in RemovePlayerAtLeave()
}
}
}
@@ -426,9 +427,15 @@ void BattleGround::Update(uint32 diff)
m_EndTime += diff;
if(m_EndTime >= TIME_TO_AUTOREMOVE) // 2 minutes
{
for(BattleGroundPlayerMap::iterator itr = m_Players.begin(); itr != m_Players.end(); ++itr)
BattleGroundPlayerMap::iterator itr, next;
for(itr = m_Players.begin(); itr != m_Players.end(); itr = next)
{
next = itr;
++next;
//itr is erased here!
RemovePlayerAtLeave(itr->first, true, true);// remove player from BG
// do not change any battleground's private variables
// do not change any battleground's private variables
}
}
}
+1 -1
View File
@@ -1,4 +1,4 @@
#ifndef __REVISION_NR_H__
#define __REVISION_NR_H__
#define REVISION_NR "7424"
#define REVISION_NR "7425"
#endif // __REVISION_NR_H__