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:
@@ -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;
|
||||||
|
|||||||
@@ -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;
|
||||||
|
|||||||
@@ -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;
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user