Tweaking for menu behavior in Linux regarding mouse whatnot - John Fay
[freeglut] / src / freeglut_structure.c
index 9c515c8..09ad74d 100644 (file)
@@ -273,6 +273,7 @@ void fgCloseWindows ()
 void fgDestroyWindow( SFG_Window* window, GLboolean needToClose )
 {
     SFG_Window* subWindow;
+    int menu_index ;
 
     assert( window != NULL );
     freeglut_assert_ready;
@@ -309,6 +310,15 @@ void fgDestroyWindow( SFG_Window* window, GLboolean needToClose )
     else
         fgListRemove( &fgStructure.Windows, &window->Node );
 
+    if ( window->ActiveMenu != NULL )
+      fgDeactivateMenu ( window ) ;
+
+    for ( menu_index = 0; menu_index < 3; menu_index ++ )
+    {
+      if ( window->Menu[menu_index] != NULL )
+        window->Menu[menu_index]->ParentWindow = NULL ;
+    }
+
     /*
      * OK, this window seems disconnected from the structure enough
      * in order to be closed without any bigger risks...