Re-add catches for the case in which a menu callback destroys the menu. - John Fay

git-svn-id: https://svn.code.sf.net/p/freeglut/code/trunk@181 7f0cb862-5218-0410-a997-914c9d46530a
This commit is contained in:
puggles 2003-09-10 15:46:12 +00:00
parent fdd998e66a
commit 59e9cae134

View 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 ) ;