mirror of
https://github.com/mangosfour/server.git
synced 2025-12-12 19:37:03 +00:00
[7425] Fixed crash in BattleGround::Update()
Signed-off-by: Triply <triply@getmangos.com>
This commit is contained in:
parent
0babfec043
commit
1c8f8a2e13
2 changed files with 10 additions and 3 deletions
|
|
@ -240,6 +240,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()
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -422,9 +423,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
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue