From 581ae2719d1639d063a812901ff4b0983169cde7 Mon Sep 17 00:00:00 2001 From: megamage Date: Wed, 25 Mar 2009 15:54:23 -0600 Subject: *Do not allow to add/remove obj to/from world more than once. --HG-- branch : trunk --- src/game/DynamicObject.cpp | 14 ++++++++++---- 1 file changed, 10 insertions(+), 4 deletions(-) (limited to 'src/game/DynamicObject.cpp') diff --git a/src/game/DynamicObject.cpp b/src/game/DynamicObject.cpp index fddac254272..801626d5a9b 100644 --- a/src/game/DynamicObject.cpp +++ b/src/game/DynamicObject.cpp @@ -46,15 +46,21 @@ DynamicObject::DynamicObject() : WorldObject() void DynamicObject::AddToWorld() { ///- Register the dynamicObject for guid lookup - if(!IsInWorld()) ObjectAccessor::Instance().AddObject(this); - WorldObject::AddToWorld(); + if(!IsInWorld()) + { + ObjectAccessor::Instance().AddObject(this); + WorldObject::AddToWorld(); + } } void DynamicObject::RemoveFromWorld() { ///- Remove the dynamicObject from the accessor - if(IsInWorld()) ObjectAccessor::Instance().RemoveObject(this); - WorldObject::RemoveFromWorld(); + if(IsInWorld()) + { + ObjectAccessor::Instance().RemoveObject(this); + WorldObject::RemoveFromWorld(); + } } bool DynamicObject::Create( uint32 guidlow, Unit *caster, uint32 spellId, uint32 effIndex, float x, float y, float z, int32 duration, float radius ) -- cgit v1.2.3