Mercurial > hg > openttd
changeset 9701:7e169185025f draft
(svn r13809) -Fix: memory leak each time a "new ai" got (re)started.
author | rubidium <rubidium@openttd.org> |
---|---|
date | Wed, 23 Jul 2008 20:42:13 +0000 |
parents | 2dfd72441294 |
children | ab8ad03c5ff9 |
files | src/ai/ai.cpp |
diffstat | 1 files changed, 9 insertions(+), 5 deletions(-) [+] |
line wrap: on
line diff
--- a/src/ai/ai.cpp +++ b/src/ai/ai.cpp @@ -12,6 +12,7 @@ #include "../player_base.h" #include "ai.h" #include "default/default.h" +#include "trolly/trolly.h" #include "../signal_func.h" AIStruct _ai; @@ -225,6 +226,13 @@ { /* Called if this AI died */ _ai_player[player].active = false; + + if (_players_ainew[player].pathfinder == NULL) return; + + AyStarMain_Free(_players_ainew[player].pathfinder); + delete _players_ainew[player].pathfinder; + _players_ainew[player].pathfinder = NULL; + } /** @@ -246,9 +254,5 @@ */ void AI_Uninitialize() { - const Player* p; - - FOR_ALL_PLAYERS(p) { - if (p->is_ai) AI_PlayerDied(p->index); - } + for (PlayerID p = PLAYER_FIRST; p < MAX_PLAYERS; p++) AI_PlayerDied(p); }