#include "wx/app.h"
#include "wx/intl.h"
#include "wx/list.h"
- #if wxUSE_LOG
- #include "wx/log.h"
- #endif // wxUSE_LOG
+ #include "wx/log.h"
#endif //WX_PRECOMP
#include "wx/utils.h"
#endif //Win/Unix
#if defined(__WXMSW__)
- #include "wx/msw/private.h" // includes windows.h for MessageBox()
+ #include "wx/msw/wrapwin.h" // includes windows.h for MessageBox()
#endif
#if wxUSE_FONTMAP
#ifdef __WXDEBUG__
SetTraceMasks();
+#if wxUSE_UNICODE
+ // In unicode mode the SetTraceMasks call can cause an apptraits to be
+ // created, but since we are still in the constructor the wrong kind will
+ // be created for GUI apps. Destroy it so it can be created again later.
+ delete m_traits;
+ m_traits = NULL;
+#endif
#endif
}
return -1;
}
+// ----------------------------------------------------------------------------
+// exception handling
+// ----------------------------------------------------------------------------
+
#if wxUSE_EXCEPTIONS
void
(handler->*func)(event);
}
+bool
+wxAppConsole::OnExceptionInMainLoop()
+{
+ throw;
+
+ // some compilers are too stupid to know that we never return after throw
+#if defined(__DMC__) || (defined(_MSC_VER) && _MSC_VER < 1200)
+ return false;
+#endif
+}
+
#endif // wxUSE_EXCEPTIONS
// ----------------------------------------------------------------------------
msg.Printf(_T("Mismatch between the program and library build versions detected.\nThe library used %s,\nand %s used %s."),
lib.c_str(), progName.c_str(), prog.c_str());
- wxLogFatalError(msg);
+ wxLogFatalError(msg.c_str());
// normally wxLogFatalError doesn't return
return FALSE;
wxT("You can also choose [Cancel] to suppress ")
wxT("further warnings.");
- switch ( ::MessageBox(NULL, msgDlg, _T("wxWindows Debug Alert"),
+ switch ( ::MessageBox(NULL, msgDlg, _T("wxWidgets Debug Alert"),
MB_YESNOCANCEL | MB_ICONSTOP ) )
{
case IDYES: