diff options
author | QAston <qaston@gmail.com> | 2011-02-04 00:27:43 +0100 |
---|---|---|
committer | QAston <qaston@gmail.com> | 2011-02-04 00:27:43 +0100 |
commit | d18193e52dd0799927ac925158300ef4e5c88ba8 (patch) | |
tree | 07f0d73d551d428d4b2a985e02d33d8e8a18465e /src/server/game/Grids/ObjectGridLoader.cpp | |
parent | 1740df0fac298ccb61dd35f4e1c08e76932be212 (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-x | src/server/game/Grids/ObjectGridLoader.cpp | 4 |
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 } } |