fix memory leak, thanks @Andrettin

This commit is contained in:
Tim Felgentreff 2022-02-15 06:36:04 +01:00
parent 1b95dd2373
commit 33cc4f880a
2 changed files with 6 additions and 1 deletions
src
include
unit

View file

@ -134,7 +134,8 @@ enum _directions_ {
class CUnit
{
public:
CUnit() : tilePos(-1, -1), pathFinderData(NULL), SavedOrder(NULL), NewOrder(NULL), CriticalOrder(NULL), Colors(-1) { Init(); }
CUnit() : tilePos(-1, -1), pathFinderData(NULL), SavedOrder(NULL), NewOrder(NULL), CriticalOrder(NULL), Colors(-1),
AutoCastSpell(NULL), SpellCoolDownTimers(NULL), Variable(NULL) { Init(); }
~CUnit();
void Init();

View file

@ -426,6 +426,7 @@ void CUnit::Init()
Stats = NULL;
CurrentSightRange = 0;
delete pathFinderData;
pathFinderData = new PathFinderData;
pathFinderData->input.SetUnit(*this);
@ -447,6 +448,7 @@ void CUnit::Init()
RescuedFrom = NULL;
memset(VisCount, 0, sizeof(VisCount));
memset(&Seen, 0, sizeof(Seen));
delete Variable;
Variable = NULL;
TTL = 0;
Threshold = 0;
@ -472,7 +474,9 @@ void CUnit::Init()
NewOrder = NULL;
delete CriticalOrder;
CriticalOrder = NULL;
delete AutoCastSpell;
AutoCastSpell = NULL;
delete SpellCoolDownTimers;
SpellCoolDownTimers = NULL;
AutoRepair = 0;
Goal = NULL;