]> git.saurik.com Git - wxWidgets.git/blobdiff - src/msw/app.cpp
added wxMouseState::GetPosition(), for consistency with wxMouseEvent
[wxWidgets.git] / src / msw / app.cpp
index 04916f784b59ae248b3f36a6508103043b7869a8..95d953241ce2c6b1671a5f9a278f4be32a480638 100644 (file)
@@ -598,8 +598,17 @@ void wxApp::WakeUpIdle()
 
 void wxApp::OnEndSession(wxCloseEvent& WXUNUSED(event))
 {
-    if (GetTopWindow())
-        GetTopWindow()->Close(true);
+    // Windows will terminate the process soon after we return from
+    // WM_ENDSESSION handler anyhow, so make sure we at least execute our
+    // cleanup code before
+    const int rc = OnExit();
+
+    wxEntryCleanup();
+
+    // calling exit() instead of ExitProcess() or not doing anything at all and
+    // being killed by Windows has the advantage of executing the dtors of
+    // global objects
+    exit(rc);
 }
 
 // Default behaviour: close the application with prompts. The