aboutsummaryrefslogtreecommitdiff
path: root/src/server/game/Battlegrounds/Battleground.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/server/game/Battlegrounds/Battleground.cpp')
-rw-r--r--src/server/game/Battlegrounds/Battleground.cpp4
1 files changed, 3 insertions, 1 deletions
diff --git a/src/server/game/Battlegrounds/Battleground.cpp b/src/server/game/Battlegrounds/Battleground.cpp
index 5d93ebd8b85..00f03068dc0 100644
--- a/src/server/game/Battlegrounds/Battleground.cpp
+++ b/src/server/game/Battlegrounds/Battleground.cpp
@@ -134,7 +134,9 @@ Battleground::~Battleground()
// unload map
if (m_Map)
{
- m_Map->SetUnload();
+ m_Map->UnloadAll(); // unload all objects (they may hold a reference to bg in their ZoneScript pointer)
+ m_Map->SetUnload(); // mark for deletion by MapManager
+
//unlink to prevent crash, always unlink all pointer reference before destruction
m_Map->SetBG(nullptr);
m_Map = nullptr;