X-Git-Url: http://git.mutantstargoat.com/user/nuclear/?a=blobdiff_plain;f=src%2Ffreeglut_init.c;h=36b5b4bef9c2fbffdac818d16a01d854be71279f;hb=7c8806280d824b872cb97a684172ed3531c5ed11;hp=eb0935b680c2e064afdf3c29a361907a99c263b1;hpb=9b943faa4f374b5a37b1bf6d544f826078cd361b;p=freeglut diff --git a/src/freeglut_init.c b/src/freeglut_init.c index eb0935b..36b5b4b 100644 --- a/src/freeglut_init.c +++ b/src/freeglut_init.c @@ -68,13 +68,15 @@ SFG_State fgState = { { -1, -1, FALSE }, /* Position */ 0, /* FPSInterval */ 0, /* SwapCount */ 0, /* SwapTime */ -#ifdef TARGET_HOST_WIN32 +#if TARGET_HOST_WIN32 { 0, FALSE }, /* Time */ #else { { 0, 0 }, FALSE }, #endif { NULL, NULL }, /* Timers */ NULL, /* IdleCallback */ + FALSE, /* BuildingAMenu */ + 0, /* ActiveMenus */ NULL, /* MenuStateCallback */ NULL, /* MenuStatusCallback */ { 640, 480, TRUE }, /* GameModeSize */ @@ -269,6 +271,15 @@ void fgDeinitialize( void ) } /* + * If there was a menu created, destroy the rendering context + */ + if ( fgStructure.MenuContext ) + { + free ( fgStructure.MenuContext ) ; + fgStructure.MenuContext = NULL ; + } + + /* * Perform the freeglut structure deinitialization */ fgDestroyStructure(); @@ -276,7 +287,7 @@ void fgDeinitialize( void ) /* * Delete all the timers and their storage list */ - while ( (timer = fgState.Timers.First) != NULL ) + while ( (timer = (SFG_Timer *)fgState.Timers.First) != NULL ) { fgListRemove ( &fgState.Timers, &timer->Node ) ; free ( timer ) ; @@ -974,7 +985,7 @@ void FGAPIENTRY glutInitDisplayString( const char* displayMode ) */ char *token ; int len = strlen ( displayMode ) ; - char *buffer = malloc ( (len+1) * sizeof(char) ) ; + char *buffer = (char *)malloc ( (len+1) * sizeof(char) ) ; memcpy ( buffer, displayMode, len ) ; buffer[len] = '\0' ; @@ -1065,42 +1076,42 @@ void FGAPIENTRY glutInitDisplayString( const char* displayMode ) break ; case 20 : /* "win32pdf": matches the Win32 Pixel Format Descriptor by number */ -#ifdef TARGET_HOST_WIN32 +#if TARGET_HOST_WIN32 #endif break ; case 21 : /* "xvisual": matches the X visual ID by number */ -#ifdef TARGET_HOST_UNIX_X11 +#if TARGET_HOST_UNIX_X11 #endif break ; case 22 : /* "xstaticgray": boolean indicating if the frame buffer configuration's X visual is of type StaticGray */ -#ifdef TARGET_HOST_UNIX_X11 +#if TARGET_HOST_UNIX_X11 #endif break ; case 23 : /* "xgrayscale": boolean indicating if the frame buffer configuration's X visual is of type GrayScale */ -#ifdef TARGET_HOST_UNIX_X11 +#if TARGET_HOST_UNIX_X11 #endif break ; case 24 : /* "xstaticcolor": boolean indicating if the frame buffer configuration's X visual is of type StaticColor */ -#ifdef TARGET_HOST_UNIX_X11 +#if TARGET_HOST_UNIX_X11 #endif break ; case 25 : /* "xpseudocolor": boolean indicating if the frame buffer configuration's X visual is of type PseudoColor */ -#ifdef TARGET_HOST_UNIX_X11 +#if TARGET_HOST_UNIX_X11 #endif break ; case 26 : /* "xtruecolor": boolean indicating if the frame buffer configuration's X visual is of type TrueColor */ -#ifdef TARGET_HOST_UNIX_X11 +#if TARGET_HOST_UNIX_X11 #endif break ; case 27 : /* "xdirectcolor": boolean indicating if the frame buffer configuration's X visual is of type DirectColor */ -#ifdef TARGET_HOST_UNIX_X11 +#if TARGET_HOST_UNIX_X11 #endif break ;