X-Git-Url: http://git.mutantstargoat.com/user/nuclear/?a=blobdiff_plain;f=src%2Ffg_structure.c;h=f0bc9a2a840abd69d78dbbaf15aabe3b832df5c8;hb=ba0b3e4f7c57925fea4b418356a283a3d8135f2d;hp=2a65b69ed1eec48d2d3be02c0fef601ea141dc56;hpb=05a61612c9b96b61ca9917def47eb59b7bd195c8;p=freeglut diff --git a/src/fg_structure.c b/src/fg_structure.c index 2a65b69..f0bc9a2 100644 --- a/src/fg_structure.c +++ b/src/fg_structure.c @@ -1,5 +1,5 @@ /* - * freeglut_structure.c + * fg_structure.c * * Windows and menus need tree structure * @@ -75,6 +75,11 @@ SFG_Window* fgCreateWindow( SFG_Window* parent, const char* title, /* Have the window object created */ SFG_Window *window = (SFG_Window *)calloc( 1, sizeof(SFG_Window) ); + if( !window ) + { + fgError( "Out of memory. Could not create window." ); + } + fgPlatformCreateWindow ( window ); fghClearCallBacks( window ); @@ -100,7 +105,7 @@ SFG_Window* fgCreateWindow( SFG_Window* parent, const char* title, /* * Open the window now. The fgOpenWindow() function is system - * dependant, and resides in freeglut_window.c. Uses fgState. + * dependent, and resides in fg_window.c. Uses fgState. */ fgOpenWindow( window, title, positionUse, x, y, sizeUse, w, h, gameMode, (GLboolean)(parent ? GL_TRUE : GL_FALSE) ); @@ -190,7 +195,7 @@ void fgCloseWindows( ) /* * This function destroys a window and all of its subwindows. Actually, - * another function, defined in freeglut_window.c is called, but this is + * another function, defined in fg_window.c is called, but this is * a whole different story... */ void fgDestroyWindow( SFG_Window* window ) @@ -332,7 +337,7 @@ void fgDestroyMenu( SFG_Menu* menu ) * This function should be called on glutInit(). It will prepare the internal * structure of freeglut to be used in the application. The structure will be * destroyed using fgDestroyStructure() on glutMainLoop() return. In that - * case further use of freeglut should be preceeded with a glutInit() call. + * case further use of freeglut should be preceded with a glutInit() call. */ void fgCreateStructure( void ) { @@ -465,7 +470,7 @@ static void fghcbWindowByHandle( SFG_Window *window, /* * fgWindowByHandle returns a (SFG_Window *) value pointing to the * first window in the queue matching the specified window handle. - * The function is defined in freeglut_structure.c file. + * The function is defined in fg_structure.c file. */ SFG_Window* fgWindowByHandle ( SFG_WindowHandleType hWindow ) { @@ -506,7 +511,7 @@ static void fghcbWindowByID( SFG_Window *window, SFG_Enumerator *enumerator ) /* * This function is similar to the previous one, except it is * looking for a specified (sub)window identifier. The function - * is defined in freeglut_structure.c file. + * is defined in fg_structure.c file. */ SFG_Window* fgWindowByID( int windowID ) { @@ -568,7 +573,7 @@ static void fghcbGetActiveMenu( SFG_Menu *menu, if ( enumerator->found ) return; - /* Check the menu's ID. */ + /* Check the menu's is active */ if( menu->IsActive ) { enumerator->found = GL_TRUE; @@ -580,6 +585,7 @@ static void fghcbGetActiveMenu( SFG_Menu *menu, /* * Returns active menu, if any. Assumption: only one menu active throughout application at any one time. + * This is false when a submenu is also open. * This is easier than fgWindowByXXX as all menus are placed in one doubly linked list... */ SFG_Menu* fgGetActiveMenu( )