From 962b88a381cd7c051378ab10e783511af734b9bf Mon Sep 17 00:00:00 2001 From: megamage Date: Tue, 11 Aug 2009 16:33:33 -0500 Subject: *ResetMap for worldobjects when map is deleted. --HG-- branch : trunk --- src/game/Map.cpp | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) (limited to 'src/game/Map.cpp') 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) -- cgit v1.2.3