diff options
author | Manuel <manue.l@live.com.ar> | 2011-01-16 15:13:22 -0300 |
---|---|---|
committer | Manuel <manue.l@live.com.ar> | 2011-01-16 15:13:22 -0300 |
commit | 98d3cc01d58d9bbdd8b02f1f64bb3432649aa2c2 (patch) | |
tree | 93b7235de06ffbd4f18ccf58ec62f7e079d7d7f5 /src/server/game/Maps/MapManager.cpp | |
parent | 7b7327acdcbeadc5ec509da4520190205d640f52 (diff) | |
parent | df334f194c7b0da49fd1c1a4f821df78a0e25fb8 (diff) |
Merge branch 'master' of github.com:TrinityCore/TrinityCore
Diffstat (limited to 'src/server/game/Maps/MapManager.cpp')
-rwxr-xr-x | src/server/game/Maps/MapManager.cpp | 26 |
1 files changed, 11 insertions, 15 deletions
diff --git a/src/server/game/Maps/MapManager.cpp b/src/server/game/Maps/MapManager.cpp index d829c8e30d3..7b6d0a64460 100755 --- a/src/server/game/Maps/MapManager.cpp +++ b/src/server/game/Maps/MapManager.cpp @@ -45,16 +45,6 @@ MapManager::MapManager() MapManager::~MapManager() { - for (MapMapType::iterator iter=i_maps.begin(); iter != i_maps.end(); ++iter) - delete iter->second; - - for (TransportSet::iterator i = m_Transports.begin(); i != m_Transports.end(); ++i) - { - (*i)->RemoveFromWorld(); - delete *i; - } - - Map::DeleteStateMachine(); } void MapManager::Initialize() @@ -305,17 +295,23 @@ bool MapManager::IsValidMAP(uint32 mapid) void MapManager::UnloadAll() { - for (MapMapType::iterator iter=i_maps.begin(); iter != i_maps.end(); ++iter) - iter->second->UnloadAll(); + for (TransportSet::iterator i = m_Transports.begin(); i != m_Transports.end(); ++i) + { + (*i)->RemoveFromWorld(); + delete *i; + } - while (!i_maps.empty()) + for (MapMapType::iterator iter = i_maps.begin(); iter != i_maps.end();) { - delete i_maps.begin()->second; - i_maps.erase(i_maps.begin()); + iter->second->UnloadAll(); + delete iter->second; + i_maps.erase(iter++); } if (m_updater.activated()) m_updater.deactivate(); + + Map::DeleteStateMachine(); } void MapManager::InitMaxInstanceId() |