From: J.C. Jones Date: Wed, 10 Sep 2003 15:46:12 +0000 (+0000) Subject: Re-add catches for the case in which a menu callback destroys the menu. - John Fay X-Git-Url: http://git.mutantstargoat.com/user/nuclear/?a=commitdiff_plain;h=196f8047125330baeaf1df0ed8cdc610c578c091;p=freeglut Re-add catches for the case in which a menu callback destroys the menu. - John Fay git-svn-id: svn+ssh://svn.code.sf.net/p/freeglut/code/trunk/freeglut/freeglut@181 7f0cb862-5218-0410-a997-914c9d46530a --- diff --git a/src/freeglut_main.c b/src/freeglut_main.c index 34c3f79..fafb503 100644 --- a/src/freeglut_main.c +++ b/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 ) ;