From 59e9cae1349d3580d766fc28b988b1a45d0ba61e Mon Sep 17 00:00:00 2001 From: puggles Date: Wed, 10 Sep 2003 15:46:12 +0000 Subject: [PATCH] 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 --- freeglut/freeglut/src/freeglut_main.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/freeglut/freeglut/src/freeglut_main.c b/freeglut/freeglut/src/freeglut_main.c index 34c3f79..fafb503 100644 --- a/freeglut/freeglut/src/freeglut_main.c +++ b/freeglut/freeglut/src/freeglut_main.c @@ -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 ) ;