[11777] reimplement [11719] in better way

This commit is contained in:
SilverIce 2011-08-09 20:56:48 +03:00
parent 4a2f96037e
commit e3e39b5607
3 changed files with 9 additions and 4 deletions

View file

@ -59,8 +59,14 @@ void MotionMaster::Initialize()
MotionMaster::~MotionMaster() MotionMaster::~MotionMaster()
{ {
// clear ALL movement generators (including default) // just deallocate movement generator, but do not Finalize since it may access to already deallocated owner's memory
DirectClean(false,true); while(!empty())
{
MovementGenerator * m = top();
pop();
if (!isStatic(m))
delete m;
}
} }
void MotionMaster::UpdateMotion(uint32 diff) void MotionMaster::UpdateMotion(uint32 diff)

View file

@ -9343,7 +9343,6 @@ void Unit::CleanupsBeforeDelete()
else else
getHostileRefManager().deleteReferences(); getHostileRefManager().deleteReferences();
RemoveAllAuras(AURA_REMOVE_BY_DELETE); RemoveAllAuras(AURA_REMOVE_BY_DELETE);
GetMotionMaster()->Clear(false,true); // remove all movement generators.
} }
WorldObject::CleanupsBeforeDelete(); WorldObject::CleanupsBeforeDelete();
} }

View file

@ -1,4 +1,4 @@
#ifndef __REVISION_NR_H__ #ifndef __REVISION_NR_H__
#define __REVISION_NR_H__ #define __REVISION_NR_H__
#define REVISION_NR "11776" #define REVISION_NR "11777"
#endif // __REVISION_NR_H__ #endif // __REVISION_NR_H__