Make init_RACE()/uninit_RACE() calls symmetric; takes care of memory leaks from bug #1149; thanks to Louis Delacroix

git-svn-id: svn://svn.code.sf.net/p/sc2/code/trunk@3778 8092fc87-c524-0410-9efc-e669fe64eaf9
This commit is contained in:
avolkov
2012-02-26 21:05:46 +00:00
parent 2e67a5a007
commit b571a8ce39
3 changed files with 3 additions and 6 deletions
-3
View File
@@ -311,9 +311,6 @@ UninitShips (void)
crew_retrieved; crew_retrieved;
} }
if (StarShipPtr->RaceDescPtr->uninit_func != NULL)
(*StarShipPtr->RaceDescPtr->uninit_func) (
StarShipPtr->RaceDescPtr);
/* Record crew left after battle */ /* Record crew left after battle */
StarShipPtr->crew_level = StarShipPtr->crew_level =
StarShipPtr->RaceDescPtr->ship_info.crew_level; StarShipPtr->RaceDescPtr->ship_info.crew_level;
+3
View File
@@ -170,6 +170,9 @@ void
free_ship (RACE_DESC *raceDescPtr, BOOLEAN FreeIconData, free_ship (RACE_DESC *raceDescPtr, BOOLEAN FreeIconData,
BOOLEAN FreeBattleData) BOOLEAN FreeBattleData)
{ {
if (raceDescPtr->uninit_func != NULL)
(*raceDescPtr->uninit_func) (raceDescPtr);
if (FreeBattleData) if (FreeBattleData)
{ {
DATA_STUFF *shipData = &raceDescPtr->ship_data; DATA_STUFF *shipData = &raceDescPtr->ship_data;
-3
View File
@@ -473,9 +473,6 @@ new_ship (ELEMENT *DeadShipPtr)
SetElementStarShip (DeadShipPtr, 0); SetElementStarShip (DeadShipPtr, 0);
RestartMusic = OpponentAlive (DeadStarShipPtr); RestartMusic = OpponentAlive (DeadStarShipPtr);
if (DeadStarShipPtr->RaceDescPtr->uninit_func != NULL)
(*DeadStarShipPtr->RaceDescPtr->uninit_func) (
DeadStarShipPtr->RaceDescPtr);
free_ship (DeadStarShipPtr->RaceDescPtr, TRUE, TRUE); free_ship (DeadStarShipPtr->RaceDescPtr, TRUE, TRUE);
DeadStarShipPtr->RaceDescPtr = 0; DeadStarShipPtr->RaceDescPtr = 0;