[7969] Remove gameobject from owner gameobjecs list at expire.

This will prevent delayd owner access from gameobject destructor
in time remove list proccessing and fix possible related problems
with crosslinked pointers.

Signed-off-by: VladimirMangos <vladimir@getmangos.com>
This commit is contained in:
Ambal 2009-06-06 11:38:23 +04:00 committed by VladimirMangos
parent ef2d0df05d
commit 4118a70f65
2 changed files with 5 additions and 2 deletions

View file

@ -399,7 +399,10 @@ void GameObject::Update(uint32 /*p_time*/)
if(GetOwnerGUID()) if(GetOwnerGUID())
{ {
m_respawnTime = 0; if(Unit* owner = GetOwner())
owner->RemoveGameObject(this, false);
SetRespawnTime(0);
Delete(); Delete();
return; return;
} }

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 "7968" #define REVISION_NR "7969"
#endif // __REVISION_NR_H__ #endif // __REVISION_NR_H__