aboutsummaryrefslogtreecommitdiff
path: root/src/server/game/Maps/Map.cpp
diff options
context:
space:
mode:
authorNay <dnpd.dd@gmail.com>2013-08-27 16:10:11 +0100
committerNay <dnpd.dd@gmail.com>2013-08-27 16:10:11 +0100
commit14d80d269dd7f9624983bc5a610e511f31ed33f0 (patch)
treef4dafe85b046d91506ec345516aa8e82d4ec38f6 /src/server/game/Maps/Map.cpp
parentb2134dbbe300f6b0ff55d551295a56a67748056f (diff)
parentcc14e18664f50983e52398ec02c9f6b2b770ef85 (diff)
Merge remote-tracking branch 'origin/master' into 4.3.4
Conflicts: src/server/game/AI/EventAI/CreatureEventAI.cpp src/server/game/Globals/ObjectMgr.cpp
Diffstat (limited to 'src/server/game/Maps/Map.cpp')
-rw-r--r--src/server/game/Maps/Map.cpp4
1 files changed, 4 insertions, 0 deletions
diff --git a/src/server/game/Maps/Map.cpp b/src/server/game/Maps/Map.cpp
index 56330c503de..65d9ee4f5ba 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())