From 9bd079d4257e9d49bb22244edd2d103620bc8896 Mon Sep 17 00:00:00 2001 From: Darkvater Date: Wed, 9 Mar 2005 19:48:20 +0000 Subject: (svn r1978) - Fix: Plug some memleaks; thanks Valgrind --- ttd.c | 16 +++++++++++----- 1 file changed, 11 insertions(+), 5 deletions(-) (limited to 'ttd.c') diff --git a/ttd.c b/ttd.c index 7b85a59f5..eeb0c2452 100644 --- a/ttd.c +++ b/ttd.c @@ -447,6 +447,11 @@ static void UnInitializeDynamicVariables(void) free(_industry_sort); } +static void UnInitializeGame(void) +{ + UnInitWindowSystem(); + UnInitNewgrEngines(); +} static void LoadIntroGame(void) { @@ -459,7 +464,7 @@ static void LoadIntroGame(void) LoadStringWidthTable(); // Setup main window - InitWindowSystem(); + ResetWindowSystem(); SetupColorsAndInitialWindow(); // Generate a world. @@ -699,6 +704,7 @@ int ttd_main(int argc, char* argv[]) /* Close all and any open filehandles */ FioCloseAll(); + UnInitializeGame(); return 0; } @@ -725,7 +731,7 @@ static void MakeNewGame(void) GfxLoadSprites(); // Reinitialize windows - InitWindowSystem(); + ResetWindowSystem(); LoadStringWidthTable(); SetupColorsAndInitialWindow(); @@ -757,7 +763,7 @@ static void MakeNewEditorWorld(void) GfxLoadSprites(); // Re-init the windowing system - InitWindowSystem(); + ResetWindowSystem(); // Create toolbars SetupColorsAndInitialWindow(); @@ -792,7 +798,7 @@ static void StartScenario(void) GfxLoadSprites(); // Reinitialize windows - InitWindowSystem(); + ResetWindowSystem(); LoadStringWidthTable(); SetupColorsAndInitialWindow(); @@ -1327,7 +1333,7 @@ bool AfterLoadGame(uint version) } // Initialize windows - InitWindowSystem(); + ResetWindowSystem(); SetupColorsAndInitialWindow(); w = FindWindowById(WC_MAIN_WINDOW, 0); -- cgit v1.2.3-54-g00ecf