diff options
author | megamage <none@none> | 2009-03-23 20:13:37 -0600 |
---|---|---|
committer | megamage <none@none> | 2009-03-23 20:13:37 -0600 |
commit | f18a9c916d23c96c013f702aaec6b2c539ceb273 (patch) | |
tree | 9e1858c39f31538d2fa0c101d4b3911c811e822a /src/game/Creature.cpp | |
parent | dcb08352e7420b6a1277dfa5de359d2f19651cd9 (diff) |
*Fix some crashes possibly related to vehicles.
*Fix a bug that client crashes when seer is far away from caster.
--HG--
branch : trunk
Diffstat (limited to 'src/game/Creature.cpp')
-rw-r--r-- | src/game/Creature.cpp | 21 |
1 files changed, 13 insertions, 8 deletions
diff --git a/src/game/Creature.cpp b/src/game/Creature.cpp index edf32d19cf2..a2dc9a4d41a 100644 --- a/src/game/Creature.cpp +++ b/src/game/Creature.cpp @@ -166,19 +166,24 @@ Creature::~Creature() void Creature::AddToWorld() { ///- Register the creature for guid lookup - if(!IsInWorld()) ObjectAccessor::Instance().AddObject(this); - Unit::AddToWorld(); - SearchFormation(); + if(!IsInWorld()) + { + ObjectAccessor::Instance().AddObject(this); + Unit::AddToWorld(); + SearchFormation(); + } } void Creature::RemoveFromWorld() { - if(m_formationID) - formation_mgr.DestroyGroup(m_formationID, GetGUID()); - ///- Remove the creature from the accessor - if(IsInWorld()) ObjectAccessor::Instance().RemoveObject(this); - Unit::RemoveFromWorld(); + if(IsInWorld()) + { + if(m_formationID) + formation_mgr.DestroyGroup(m_formationID, GetGUID()); + ObjectAccessor::Instance().RemoveObject(this); + Unit::RemoveFromWorld(); + } } void Creature::SearchFormation() |