mirror of
https://github.com/mangosfour/server.git
synced 2025-12-15 01:37:00 +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
|
RemovePlayerAtLeave(itr->first, true, true);// remove player from BG
|
||||||
m_OfflineQueue.pop_front(); // remove from offline queue
|
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;
|
m_EndTime += diff;
|
||||||
if(m_EndTime >= TIME_TO_AUTOREMOVE) // 2 minutes
|
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
|
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,4 +1,4 @@
|
||||||
#ifndef __REVISION_NR_H__
|
#ifndef __REVISION_NR_H__
|
||||||
#define __REVISION_NR_H__
|
#define __REVISION_NR_H__
|
||||||
#define REVISION_NR "7424"
|
#define REVISION_NR "7425"
|
||||||
#endif // __REVISION_NR_H__
|
#endif // __REVISION_NR_H__
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue