]> git.saurik.com Git - wxWidgets.git/blobdiff - src/common/init.cpp
wxCocoa: Added gauge.(mm|h)
[wxWidgets.git] / src / common / init.cpp
index c25c12cd866653d23ffe38d4378390e24f76515a..5f90f482b5934a45bc8d136e7fa1dee2a9d7055c 100644 (file)
@@ -401,21 +401,6 @@ int wxEntryReal(int& argc, wxChar **argv)
     // app execution
     int retValue = wxTheApp->OnRun();
 
-    // why should we do this? it doesn't close all window, just one of them and
-    // this shouldn't be necessary anyhow...
-#if 0
-    // close any remaining windows
-    wxWindow *topWindow = wxTheApp->GetTopWindow();
-    if ( topWindow )
-    {
-        // forcibly delete the window.
-        topWindow->Destroy();
-
-        // collect the dead objects
-        wxTheApp->DeletePendingObjects();
-    }
-#endif // 0
-
     // app clean up
     wxTheApp->OnExit();
 
@@ -426,7 +411,12 @@ int wxEntryReal(int& argc, wxChar **argv)
 // OnFatalException() if necessary
 #if defined(__WXMSW__) && wxUSE_ON_FATAL_EXCEPTION
 
-extern unsigned long wxGlobalSEHandler();
+#ifdef __WXWINCE__
+// For ExitThread
+#include "wx/msw/private.h"
+#endif
+
+extern unsigned long wxGlobalSEHandler(EXCEPTION_POINTERS *pExcPtrs);
 
 int wxEntry(int& argc, wxChar **argv)
 {
@@ -434,9 +424,13 @@ int wxEntry(int& argc, wxChar **argv)
     {
         return wxEntryReal(argc, argv);
     }
-    __except ( wxGlobalSEHandler() )
+    __except ( wxGlobalSEHandler(GetExceptionInformation()) )
     {
+#ifdef __WXWINCE__
+        ::ExitThread(3); // the same exit code as abort()
+#else
         ::ExitProcess(3); // the same exit code as abort()
+#endif
 
 #if !defined(_MSC_VER) || _MSC_VER < 1300
         // this code is unreachable but put it here to suppress warnings