diff --git a/src/mac/app.cpp b/src/mac/app.cpp index 42e2c0aba8..0b4b57cc2f 100644 --- a/src/mac/app.cpp +++ b/src/mac/app.cpp @@ -231,12 +231,14 @@ short wxApp::MacHandleAEOApp(const WXEVENTREF WXUNUSED(event) , WXEVENTREF WXUNU short wxApp::MacHandleAEQuit(const WXEVENTREF WXUNUSED(event) , WXEVENTREF WXUNUSED(reply)) { - wxWindow* win = GetTopWindow() ; + wxWindow* win = GetTopWindow() ; if ( win ) { - win->Close(TRUE ) ; + wxCommandEvent exitEvent(wxEVT_COMMAND_MENU_SELECTED, s_macExitMenuItemId); + if (!win->ProcessEvent(exitEvent)) + win->Close(TRUE ) ; } - else + else { ExitMainLoop() ; } diff --git a/src/mac/carbon/app.cpp b/src/mac/carbon/app.cpp index 42e2c0aba8..0b4b57cc2f 100644 --- a/src/mac/carbon/app.cpp +++ b/src/mac/carbon/app.cpp @@ -231,12 +231,14 @@ short wxApp::MacHandleAEOApp(const WXEVENTREF WXUNUSED(event) , WXEVENTREF WXUNU short wxApp::MacHandleAEQuit(const WXEVENTREF WXUNUSED(event) , WXEVENTREF WXUNUSED(reply)) { - wxWindow* win = GetTopWindow() ; + wxWindow* win = GetTopWindow() ; if ( win ) { - win->Close(TRUE ) ; + wxCommandEvent exitEvent(wxEVT_COMMAND_MENU_SELECTED, s_macExitMenuItemId); + if (!win->ProcessEvent(exitEvent)) + win->Close(TRUE ) ; } - else + else { ExitMainLoop() ; }