X-Git-Url: http://git.mutantstargoat.com/user/nuclear/?a=blobdiff_plain;f=src%2Ffreeglut_structure.c;fp=src%2Ffreeglut_structure.c;h=16100560e53843150f5e4ca4f07f948290b89895;hb=d296a46a2dccdd99048541e1f8ca0ef010ac8545;hp=6e1f542fb28c9ad36e860638c9765446babf66e4;hpb=4166c6ebc97701e0528fd81b7810131183940653;p=freeglut diff --git a/src/freeglut_structure.c b/src/freeglut_structure.c index 6e1f542..1610056 100644 --- a/src/freeglut_structure.c +++ b/src/freeglut_structure.c @@ -79,13 +79,6 @@ SFG_Window* fgCreateWindow( SFG_Window* parent, const char* title, fghClearCallBacks( window ); - /* - * If the freeglut internals haven't been initialized yet, - * do it now. Hack's idea courtesy of Chris Purnell... - */ - if( !fgState.Initialised ) - glutInit( &fakeArgc, NULL ); - /* Initialize the object properties */ window->ID = ++fgStructure.WindowID; window->State.OldHeight = window->State.OldWidth = -1; @@ -129,13 +122,6 @@ SFG_Menu* fgCreateMenu( FGCBMenu menuCallback ) SFG_Menu* menu = (SFG_Menu *)calloc( sizeof(SFG_Menu), 1 ); int fakeArgc = 0; - /* - * If the freeglut internals haven't been initialized yet, - * do it now. Hack's idea courtesy of Chris Purnell... - */ - if( !fgState.Initialised ) - glutInit( &fakeArgc, NULL ); - menu->ParentWindow = fgStructure.Window; /* Create a window for the menu to reside in. */ @@ -215,8 +201,8 @@ void fgDestroyWindow( SFG_Window* window ) { int menu_index; - assert( window ); - freeglut_assert_ready; + FREEGLUT_INTERNAL_ERROR_EXIT ( window, "Window destroy function called with null window", + "fgDestroyWindow" ); while( window->Children.First ) fgDestroyWindow( ( SFG_Window * )window->Children.First ); @@ -294,8 +280,8 @@ void fgDestroyMenu( SFG_Menu* menu ) SFG_Window *window; SFG_Menu *from; - assert( menu ); - freeglut_assert_ready; + FREEGLUT_INTERNAL_ERROR_EXIT ( menu, "Menu destroy function called with null menu", + "fgDestroyMenu" ); /* First of all, have all references to this menu removed from all windows: */ for( window = (SFG_Window *)fgStructure.Windows.First; @@ -374,8 +360,6 @@ void fgCreateStructure( void ) */ void fgDestroyStructure( void ) { - freeglut_assert_ready; - /* Clean up the WindowsToDestroy list. */ fgCloseWindows( ); @@ -394,8 +378,9 @@ void fgEnumWindows( FGCBenumerator enumCallback, SFG_Enumerator* enumerator ) { SFG_Window *window; - assert( enumCallback && enumerator ); - freeglut_assert_ready; + FREEGLUT_INTERNAL_ERROR_EXIT ( enumCallback && enumerator, + "Enumerator or callback missing from window enumerator call", + "fgEnumWindows" ); /* Check every of the top-level windows */ for( window = ( SFG_Window * )fgStructure.Windows.First; @@ -417,8 +402,10 @@ void fgEnumSubWindows( SFG_Window* window, FGCBenumerator enumCallback, { SFG_Window *child; - assert( enumCallback && enumerator ); - freeglut_assert_ready; + FREEGLUT_INTERNAL_ERROR_EXIT ( enumCallback && enumerator, + "Enumerator or callback missing from subwindow enumerator call", + "fgEnumSubWindows" ); + FREEGLUT_INTERNAL_ERROR_EXIT_IF_NOT_INITIALISED ( "Window Enumeration" ); for( child = ( SFG_Window * )window->Children.First; child; @@ -519,8 +506,6 @@ SFG_Menu* fgMenuByID( int menuID ) { SFG_Menu *menu = NULL; - freeglut_assert_ready; - /* It's enough to check all entries in fgStructure.Menus... */ for( menu = (SFG_Menu *)fgStructure.Menus.First; menu;