From 5447bc0dd7009fb061d4b8a2635dea747a1e1ada Mon Sep 17 00:00:00 2001 From: Richard Rauch Date: Fri, 7 Nov 2003 09:55:43 +0000 Subject: [PATCH] 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: svn+ssh://svn.code.sf.net/p/freeglut/code/trunk/freeglut/freeglut@316 7f0cb862-5218-0410-a997-914c9d46530a --- src/freeglut_internal.h | 2 ++ src/freeglut_structure.c | 9 +++++++++ 2 files changed, 11 insertions(+) diff --git a/src/freeglut_internal.h b/src/freeglut_internal.h index 9cfe936..45dd726 100644 --- a/src/freeglut_internal.h +++ b/src/freeglut_internal.h @@ -697,6 +697,7 @@ GLboolean fgSetupPixelFormat( SFG_Window* window, GLboolean checkOnly, /* * Window creation, opening, closing and destruction. + * Also CallBack initialization. * Defined in freeglut_structure.c, freeglut_window.c. */ SFG_Window* fgCreateWindow( SFG_Window* parent, const char* title, @@ -710,6 +711,7 @@ void fgAddToWindowDestroyList ( SFG_Window* window, GLboolean needToClose ) ; void fgCloseWindows (); void fgDestroyWindow( SFG_Window* window, GLboolean needToClose ); +void fgInitCallBacks( SFG_Window *window ); /* * Menu creation and destruction. Defined in freeglut_structure.c diff --git a/src/freeglut_structure.c b/src/freeglut_structure.c index 8708d2b..30a905b 100644 --- a/src/freeglut_structure.c +++ b/src/freeglut_structure.c @@ -52,6 +52,13 @@ SFG_Structure fgStructure = { { NULL, NULL }, /* The list of windows */ /* -- 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 * 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 ); int fakeArgc = 0; + fgInitCallBacks( window ); + /* * If the freeglut internals haven't been initialized yet, * do it now. Hack's idea courtesy of Chris Purnell... -- 1.7.10.4