Re-add catches for the case in which a menu callback destroys the menu. - John Fay
authorJ.C. Jones <jc@insufficient.coffee>
Wed, 10 Sep 2003 15:46:12 +0000 (15:46 +0000)
committerJ.C. Jones <jc@insufficient.coffee>
Wed, 10 Sep 2003 15:46:12 +0000 (15:46 +0000)
git-svn-id: svn+ssh://svn.code.sf.net/p/freeglut/code/trunk/freeglut/freeglut@181 7f0cb862-5218-0410-a997-914c9d46530a

src/freeglut_main.c

index 34c3f79..fafb503 100644 (file)
@@ -1507,12 +1507,13 @@ LRESULT CALLBACK fgWindowProc( HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM lPara
             /* Save the current window and menu and set the current window to the window whose menu this is */
             SFG_Window *save_window = fgStructure.Window ;
             SFG_Menu *save_menu = fgStructure.Menu ;
+            SFG_Window *parent_window = window->ActiveMenu->ParentWindow ;
             fgSetWindow ( window ) ;
             fgStructure.Menu = window->ActiveMenu ;
 
             /* Execute the menu callback */
             fgExecuteMenuCallback ( window->ActiveMenu ) ;
-            fgDeactivateMenu ( window->ActiveMenu->ParentWindow ) ;
+            fgDeactivateMenu ( parent_window ) ;
 
             /* Restore the current window and menu */
             fgSetWindow ( save_window ) ;