X-Git-Url: http://git.mutantstargoat.com/user/nuclear/?a=blobdiff_plain;f=freeglut-1.3%2Ffreeglut_structure.c;h=6b54d50466682b830adff601e6e4a4cd5d7ae8d9;hb=244417cf0e67e55547c077f771513e67f362a8c3;hp=2c262590ef9e69336c54da9196789ef20011253b;hpb=0983e031026a0350741095e076c83c73e28a637f;p=freeglut diff --git a/freeglut-1.3/freeglut_structure.c b/freeglut-1.3/freeglut_structure.c index 2c26259..6b54d50 100644 --- a/freeglut-1.3/freeglut_structure.c +++ b/freeglut-1.3/freeglut_structure.c @@ -252,6 +252,7 @@ void fgDestroyWindow( SFG_Window* window, GLboolean needToClose ) /* * If the programmer defined a destroy callback, call it + * A. Donev: But first make this the active window */ if ( window->Callbacks.Destroy != NULL ) { @@ -359,6 +360,18 @@ void fgDestroyMenu( SFG_Menu* menu ) } /* + * If the programmer defined a destroy callback, call it + * A. Donev: But first make this the active menu + */ + if ( menu->Destroy != NULL ) + { + SFG_Menu *activeMenu=fgStructure.Menu; + fgStructure.Menu = menu; + menu->Destroy () ; + fgStructure.Menu = activeMenu; + } + + /* * Now we are pretty sure the menu is not used anywhere * and that we can remove all of its entries */