From: <av...@us...> - 2009-12-21 03:56:01
|
Revision: 3461 http://sc2.svn.sourceforge.net/sc2/?rev=3461&view=rev Author: avolkov Date: 2009-12-21 03:55:46 +0000 (Mon, 21 Dec 2009) Log Message: ----------- Sort out game kernel cleanup sequences; also dodge a warning Modified Paths: -------------- trunk/sc2/src/uqm/cleanup.c trunk/sc2/src/uqm/setup.h trunk/sc2/src/uqm/starcon.c Modified: trunk/sc2/src/uqm/cleanup.c =================================================================== --- trunk/sc2/src/uqm/cleanup.c 2009-12-20 20:58:55 UTC (rev 3460) +++ trunk/sc2/src/uqm/cleanup.c 2009-12-21 03:55:46 UTC (rev 3461) @@ -16,7 +16,6 @@ * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ -#include "master.h" #include "nameref.h" #include "libs/reslib.h" #include "gamestr.h" @@ -34,21 +33,14 @@ // should be something like solarsys.h extern void FreeIPData (void); -static void UninitContexts (void); -static void UninitKernel (BOOLEAN ships); -static void UninitGameKernel (void); - void FreeKernel (void) { - UninitKernel (TRUE); - UninitContexts (); + UninitPlayerInput (); UninitResourceSystem (); - UninitPlayerInput (); - DestroyDrawable (ReleaseDrawable (Screen)); DestroyContext (ScreenContext); @@ -68,7 +60,7 @@ } static void -UninitKernel (BOOLEAN ships) +UninitKernel (void) { UninitSpace (); @@ -83,9 +75,6 @@ UninitQueue (&race_q[0]); UninitQueue (&race_q[1]); - if (ships) - FreeMasterShipList (); - ActivityFrame = 0; } @@ -98,17 +87,15 @@ FreeHyperData (); } -static void +void UninitGameKernel (void) { - // XXX: this function is never called. Why not? (BUG?) if (ActivityFrame) { FreeGameData (); - UninitKernel (FALSE); + UninitKernel (); UninitContexts (); } } - Modified: trunk/sc2/src/uqm/setup.h =================================================================== --- trunk/sc2/src/uqm/setup.h 2009-12-20 20:58:55 UTC (rev 3460) +++ trunk/sc2/src/uqm/setup.h 2009-12-21 03:55:46 UTC (rev 3461) @@ -61,6 +61,7 @@ BOOLEAN InitContexts (void); void UninitPlayerInput (void); BOOLEAN InitGameKernel (void); +void UninitGameKernel (void); extern BOOLEAN LoadKernel (int argc, char *argv[]); extern void FreeKernel (void); Modified: trunk/sc2/src/uqm/starcon.c =================================================================== --- trunk/sc2/src/uqm/starcon.c 2009-12-20 20:58:55 UTC (rev 3460) +++ trunk/sc2/src/uqm/starcon.c 2009-12-21 03:55:46 UTC (rev 3461) @@ -296,7 +296,8 @@ } // CloseJournal (); - FreeGameData (); + UninitGameKernel (); + FreeMasterShipList (); FreeKernel (); MainExited = TRUE; This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |