mirror of
https://github.com/OpenTTD/OpenTTD.git
synced 2025-02-07 06:46:43 +00:00
(svn r8119) -Fix (r8101): Uninitializing windows should be called before freeing dynamic variables as windows could use those variables during cleanup (eg WE_DESTROY calling GetStation(w->window_number).
-Merged UnInitializeGame with UnInitializeAirports and UnInitializeDynamicVariables
This commit is contained in:
parent
468f53911d
commit
54b88bc8e6
@ -263,9 +263,15 @@ static void InitializeDynamicVariables(void)
|
||||
_industry_sort = NULL;
|
||||
}
|
||||
|
||||
static void UnInitializeDynamicVariables(void)
|
||||
|
||||
static void UnInitializeGame(void)
|
||||
{
|
||||
/* Dynamic stuff needs to be free'd somewhere... */
|
||||
UnInitWindowSystem();
|
||||
|
||||
/* Uninitialize airport state machines */
|
||||
UnInitializeAirports();
|
||||
|
||||
/* Uninitialize variables that are allocated dynamically */
|
||||
CleanPool(&_Town_pool);
|
||||
CleanPool(&_Industry_pool);
|
||||
CleanPool(&_Station_pool);
|
||||
@ -275,11 +281,6 @@ static void UnInitializeDynamicVariables(void)
|
||||
|
||||
free((void*)_town_sort);
|
||||
free((void*)_industry_sort);
|
||||
}
|
||||
|
||||
static void UnInitializeGame(void)
|
||||
{
|
||||
UnInitWindowSystem();
|
||||
|
||||
free(_config_file);
|
||||
}
|
||||
@ -547,18 +548,14 @@ int ttd_main(int argc, char *argv[])
|
||||
SaveToHighScore();
|
||||
}
|
||||
|
||||
// uninitialize airport state machines
|
||||
UnInitializeAirports();
|
||||
|
||||
/* uninitialize variables that are allocated dynamic */
|
||||
UnInitializeDynamicVariables();
|
||||
/* Reset windowing system and free config file */
|
||||
UnInitializeGame();
|
||||
|
||||
/* stop the AI */
|
||||
AI_Uninitialize();
|
||||
|
||||
/* Close all and any open filehandles */
|
||||
FioCloseAll();
|
||||
UnInitializeGame();
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user