aboutsummaryrefslogtreecommitdiff
path: root/src/server/game/Grids/ObjectGridLoader.cpp
diff options
context:
space:
mode:
authorQAston <qaston@gmail.com>2011-02-04 00:27:43 +0100
committerQAston <qaston@gmail.com>2011-02-04 00:27:43 +0100
commitd18193e52dd0799927ac925158300ef4e5c88ba8 (patch)
tree07f0d73d551d428d4b2a985e02d33d8e8a18465e /src/server/game/Grids/ObjectGridLoader.cpp
parent1740df0fac298ccb61dd35f4e1c08e76932be212 (diff)
Core/DynamicObjects: Change the way how dynamic objects are bound to their owners, fixes some crashes in Aura::GetOwner.
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 09d623c84d0..89bf39b1fe5 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(); // Calls RemoveAllAuras
+ iter->getSource()->AI()->EnterEvadeMode();
}
- iter->getSource()->RemoveAllDynObjects(); // Calls RemoveFromWorld, needs to be after RemoveAllAuras or we invalidate the Owner pointer of the aura
}
}