Fix Eluna crash.

This commit is contained in:
H0zen 2016-09-30 00:28:54 +03:00 committed by Antz
parent c8494504cd
commit 9f04a3b38f
2 changed files with 5 additions and 2 deletions

View file

@ -1737,7 +1737,10 @@ void WorldObject::SetMap(Map* map)
// On multithread replace this with a pointer to map's Eluna pointer stored in a map // On multithread replace this with a pointer to map's Eluna pointer stored in a map
elunaEvents = new ElunaEventProcessor(&Eluna::GEluna, this); elunaEvents = new ElunaEventProcessor(&Eluna::GEluna, this);
#endif #endif
}
void WorldObject::ResetMap()
{
#ifdef ENABLE_ELUNA #ifdef ENABLE_ELUNA
delete elunaEvents; delete elunaEvents;
elunaEvents = NULL; elunaEvents = NULL;

View file

@ -646,7 +646,7 @@ class WorldObject : public Object
void SetMap(Map* map); void SetMap(Map* map);
Map* GetMap() const { MANGOS_ASSERT(m_currMap); return m_currMap; } Map* GetMap() const { MANGOS_ASSERT(m_currMap); return m_currMap; }
// used to check all object's GetMap() calls when object is not in world! // used to check all object's GetMap() calls when object is not in world!
void ResetMap() { m_currMap = NULL; } void ResetMap();
// obtain terrain data for map where this object belong... // obtain terrain data for map where this object belong...
TerrainInfo const* GetTerrain() const; TerrainInfo const* GetTerrain() const;
@ -654,7 +654,7 @@ class WorldObject : public Object
void AddToClientUpdateList() override; void AddToClientUpdateList() override;
void RemoveFromClientUpdateList() override; void RemoveFromClientUpdateList() override;
void BuildUpdateData(UpdateDataMapType&) override; void BuildUpdateData(UpdateDataMapType&) override;
Creature* SummonCreature(uint32 id, float x, float y, float z, float ang, TempSummonType spwtype, uint32 despwtime, bool asActiveObject = false, bool setRun = false); Creature* SummonCreature(uint32 id, float x, float y, float z, float ang, TempSummonType spwtype, uint32 despwtime, bool asActiveObject = false, bool setRun = false);
GameObject* SummonGameObject(uint32 id, float x, float y, float z, float angle, uint32 despwtime); GameObject* SummonGameObject(uint32 id, float x, float y, float z, float angle, uint32 despwtime);