~wxCleanupOnExit() { wxEntryCleanup(); }
};
+// ----------------------------------------------------------------------------
+// private functions
+// ----------------------------------------------------------------------------
+
+// suppress warnings about unused variables
+static inline void Use(void *) { }
+
+#define WX_SUPPRESS_UNUSED_WARN(x) Use(&x)
+
// ----------------------------------------------------------------------------
// initialization data
// ----------------------------------------------------------------------------
// below returns or throws
wxCleanupOnExit cleanupOnExit;
+ WX_SUPPRESS_UNUSED_WARN(cleanupOnExit);
+
// app initialization
- if ( !wxTheApp->OnInit() )
+ if ( !wxTheApp->CallOnInit() )
{
// don't call OnExit() if OnInit() failed
return -1;
// OnFatalException() if necessary
#if defined(__WXMSW__) && wxUSE_ON_FATAL_EXCEPTION
+#ifdef __WXWINCE__
+// For ExitThread
+#include "wx/msw/private.h"
+#endif
+
extern unsigned long wxGlobalSEHandler();
int wxEntry(int& argc, wxChar **argv)
}
__except ( wxGlobalSEHandler() )
{
+#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
+ // from some compilers
return -1;
+#endif
}
}