From 1cef78474f8f87c6cb0ed4e2cab7747ffb6c93b2 Mon Sep 17 00:00:00 2001 From: "Marius \"Teelevision\" Neugebauer" Date: Wed, 2 Apr 2014 21:57:50 +0200 Subject: fixed possible crash bug --- src/game/server/entities/character.cpp | 9 ++++++--- src/game/server/entities/character.h | 1 + 2 files changed, 7 insertions(+), 3 deletions(-) (limited to 'src') diff --git a/src/game/server/entities/character.cpp b/src/game/server/entities/character.cpp index 27be82f8..697260a2 100644 --- a/src/game/server/entities/character.cpp +++ b/src/game/server/entities/character.cpp @@ -52,6 +52,12 @@ CCharacter::CCharacter(CGameWorld *pWorld) m_LastPositions = new LastPosition[m_LastPositionsSize](); } +CCharacter::~CCharacter() +{ + // delete last positions + delete[] m_LastPositions; +} + void CCharacter::Reset() { Destroy(); @@ -110,9 +116,6 @@ void CCharacter::Destroy() { GameServer()->m_World.m_Core.m_apCharacters[m_pPlayer->GetCID()] = 0; m_Alive = false; - - // delete last positions - delete[] m_LastPositions; } // checks whether the player has been at those coords recently (like a few ticks ago) diff --git a/src/game/server/entities/character.h b/src/game/server/entities/character.h index 7b949e29..77997903 100644 --- a/src/game/server/entities/character.h +++ b/src/game/server/entities/character.h @@ -25,6 +25,7 @@ public: static const int ms_PhysSize = 28; CCharacter(CGameWorld *pWorld); + ~CCharacter(); virtual void Reset(); virtual void Destroy(); -- cgit 1.4.1