diff options
| -rw-r--r-- | src/server/game/Maps/Map.cpp | 4 | 
1 files changed, 4 insertions, 0 deletions
diff --git a/src/server/game/Maps/Map.cpp b/src/server/game/Maps/Map.cpp index 5ce4c05abb6..27f97ba93d4 100644 --- a/src/server/game/Maps/Map.cpp +++ b/src/server/game/Maps/Map.cpp @@ -2114,6 +2114,10 @@ void Map::AddObjectToRemoveList(WorldObject* obj)  void Map::AddObjectToSwitchList(WorldObject* obj, bool on)  {      ASSERT(obj->GetMapId() == GetId() && obj->GetInstanceId() == GetInstanceId()); +    // i_objectsToSwitch is iterated only in Map::RemoveAllObjectsInRemoveList() and it uses +    // the contained objects only if GetTypeId() == TYPEID_UNIT , so we can return in all other cases +    if (obj->GetTypeId() != TYPEID_UNIT) +        return;      std::map<WorldObject*, bool>::iterator itr = i_objectsToSwitch.find(obj);      if (itr == i_objectsToSwitch.end())  | 
