Added fgInitCallBacks() to freeglut_structure.c. (The function takes

an {SFG_Window *}.)  Added prototype to freeglut_internal.h.  Added use
of the function to the window initialization.  (Don't count on calloc(),
which sets all bits to 0.)


git-svn-id: https://svn.code.sf.net/p/freeglut/code/trunk@316 7f0cb862-5218-0410-a997-914c9d46530a
This commit is contained in:
rkrolib 2003-11-07 09:55:43 +00:00
parent ca361547ec
commit 89cbd97e02
2 changed files with 11 additions and 0 deletions

View File

@ -697,6 +697,7 @@ GLboolean fgSetupPixelFormat( SFG_Window* window, GLboolean checkOnly,
/* /*
* Window creation, opening, closing and destruction. * Window creation, opening, closing and destruction.
* Also CallBack initialization.
* Defined in freeglut_structure.c, freeglut_window.c. * Defined in freeglut_structure.c, freeglut_window.c.
*/ */
SFG_Window* fgCreateWindow( SFG_Window* parent, const char* title, SFG_Window* fgCreateWindow( SFG_Window* parent, const char* title,
@ -710,6 +711,7 @@ void fgAddToWindowDestroyList ( SFG_Window* window,
GLboolean needToClose ) ; GLboolean needToClose ) ;
void fgCloseWindows (); void fgCloseWindows ();
void fgDestroyWindow( SFG_Window* window, GLboolean needToClose ); void fgDestroyWindow( SFG_Window* window, GLboolean needToClose );
void fgInitCallBacks( SFG_Window *window );
/* /*
* Menu creation and destruction. Defined in freeglut_structure.c * Menu creation and destruction. Defined in freeglut_structure.c

View File

@ -52,6 +52,13 @@ SFG_Structure fgStructure = { { NULL, NULL }, /* The list of windows */
/* -- PRIVATE FUNCTIONS ---------------------------------------------------- */ /* -- PRIVATE FUNCTIONS ---------------------------------------------------- */
void fgInitCallBacks( SFG_Window *window )
{
int i;
for( i = 0; i < TOTAL_CALLBACKS; ++i )
window->CallBacks[ i ] = NULL;
}
/* /*
* This private function creates, opens and adds to the hierarchy * This private function creates, opens and adds to the hierarchy
* a freeglut window complete with OpenGL context and stuff... * a freeglut window complete with OpenGL context and stuff...
@ -67,6 +74,8 @@ SFG_Window* fgCreateWindow( SFG_Window* parent, const char* title,
SFG_Window *window = (SFG_Window *)calloc( sizeof(SFG_Window), 1 ); SFG_Window *window = (SFG_Window *)calloc( sizeof(SFG_Window), 1 );
int fakeArgc = 0; int fakeArgc = 0;
fgInitCallBacks( window );
/* /*
* If the freeglut internals haven't been initialized yet, * If the freeglut internals haven't been initialized yet,
* do it now. Hack's idea courtesy of Chris Purnell... * do it now. Hack's idea courtesy of Chris Purnell...