diff options
author | megamage <none@none.none> | 2011-09-27 17:26:13 -0400 |
---|---|---|
committer | megamage <none@none.none> | 2011-09-27 17:26:13 -0400 |
commit | eb946691c709b2e47c360d1ce5e22ab2610bf262 (patch) | |
tree | 53da956989c1509c79aae962a1d7e77b3112df43 /src/server/game/Maps/Map.cpp | |
parent | 5f043e62910e49df5dd2f251e09ebe77b93411b8 (diff) |
Unlink Battleground and BattlegroundMap when one of them is deleted. Fix crash #3239.
Diffstat (limited to 'src/server/game/Maps/Map.cpp')
-rwxr-xr-x | src/server/game/Maps/Map.cpp | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/src/server/game/Maps/Map.cpp b/src/server/game/Maps/Map.cpp index c076450e98d..c81eb8b61b0 100755 --- a/src/server/game/Maps/Map.cpp +++ b/src/server/game/Maps/Map.cpp @@ -2593,6 +2593,12 @@ BattlegroundMap::BattlegroundMap(uint32 id, time_t expiry, uint32 InstanceId, Ma BattlegroundMap::~BattlegroundMap() { + if(m_bg) + { + //unlink to prevent crash, always unlink all pointer reference before destruction + m_bg->SetBgMap(NULL); + m_bg = NULL; + } } void BattlegroundMap::InitVisibilityDistance() |