diff options
| author | megamage <none@none> | 2009-08-11 16:33:33 -0500 |
|---|---|---|
| committer | megamage <none@none> | 2009-08-11 16:33:33 -0500 |
| commit | 962b88a381cd7c051378ab10e783511af734b9bf (patch) | |
| tree | cd30fccd45c5a2f675b4620760f30ee04667628d /src/game/Map.cpp | |
| parent | 9403ff03e792154b5709a05d8dfdd7da123ce9b5 (diff) | |
*ResetMap for worldobjects when map is deleted.
--HG--
branch : trunk
Diffstat (limited to 'src/game/Map.cpp')
| -rw-r--r-- | src/game/Map.cpp | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/src/game/Map.cpp b/src/game/Map.cpp index e10ee1a2b94..c08078b9f9b 100644 --- a/src/game/Map.cpp +++ b/src/game/Map.cpp @@ -60,6 +60,9 @@ Map::~Map() { UnloadAll(); + while(!i_worldObjects.empty()) + (*(i_worldObjects.begin()))->ResetMap(); + if(!m_scriptSchedule.empty()) sWorld.DecreaseScheduledScriptCount(m_scriptSchedule.size()); } @@ -581,8 +584,9 @@ void Map::AddUnitToNotify(Unit* u) } } -void Map::RemoveUnitFromNotify(Unit *unit, int32 slot) +void Map::RemoveUnitFromNotify(Unit *unit) { + int32 slot = unit->m_NotifyListPos; if(i_lock) { if(slot < i_unitsToNotifyBacklog.size() && i_unitsToNotifyBacklog[slot] == unit) |
