aboutsummaryrefslogtreecommitdiff
path: root/src/server/game/Grids/ObjectGridLoader.cpp
diff options
context:
space:
mode:
authorMachiavelli <machiavelli.trinity@gmail.com>2011-01-13 21:33:56 +0100
committerMachiavelli <machiavelli.trinity@gmail.com>2011-01-13 21:33:56 +0100
commit57ee357c0248f23c965aa1079cc6d4258f0af1d2 (patch)
tree967d546df0511ba365dcc2c3b7960694637016da /src/server/game/Grids/ObjectGridLoader.cpp
parentbd85914d92ccab255475dce9d4700abdc8428fb4 (diff)
Core/Maps: Fix a possible crash in ObjectGridStoper:Visit
Dump found here: http://pastebin.com/2GZ3t5v4
Diffstat (limited to 'src/server/game/Grids/ObjectGridLoader.cpp')
-rwxr-xr-xsrc/server/game/Grids/ObjectGridLoader.cpp4
1 files changed, 2 insertions, 2 deletions
diff --git a/src/server/game/Grids/ObjectGridLoader.cpp b/src/server/game/Grids/ObjectGridLoader.cpp
index 89bf39b1fe5..09d623c84d0 100755
--- a/src/server/game/Grids/ObjectGridLoader.cpp
+++ b/src/server/game/Grids/ObjectGridLoader.cpp
@@ -280,13 +280,13 @@ ObjectGridStoper::Visit(CreatureMapType &m)
// stop any fights at grid de-activation and remove dynobjects created at cast by creatures
for (CreatureMapType::iterator iter=m.begin(); iter != m.end(); ++iter)
{
- iter->getSource()->RemoveAllDynObjects();
if (iter->getSource()->isInCombat())
{
iter->getSource()->CombatStop();
iter->getSource()->DeleteThreatList();
- iter->getSource()->AI()->EnterEvadeMode();
+ iter->getSource()->AI()->EnterEvadeMode(); // Calls RemoveAllAuras
}
+ iter->getSource()->RemoveAllDynObjects(); // Calls RemoveFromWorld, needs to be after RemoveAllAuras or we invalidate the Owner pointer of the aura
}
}