Pure code janitoring: Shuffled the order of some of the case statements
[freeglut] / src / freeglut_structure.c
index 8708d2b..e11cdf7 100644 (file)
@@ -52,6 +52,13 @@ SFG_Structure fgStructure = { { NULL, NULL },  /* The list of windows       */
 
 /* -- PRIVATE FUNCTIONS ---------------------------------------------------- */
 
+void fgClearCallBacks( 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;
 
+    fgClearCallBacks( window );
+
     /*
      * If the freeglut internals haven't been initialized yet,
      * do it now. Hack's idea courtesy of Chris Purnell...
@@ -297,6 +306,7 @@ void fgDestroyWindow( SFG_Window* window, GLboolean needToClose )
     free( window );
     if ( fgStructure.Window == window )
         fgStructure.Window = NULL ;
+    fgClearCallBacks( window );
 }
 
 /*