X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/e94cd97dd7db345ab4c9abb911cf4396fcac3335..9617f65bccba124625546fd798e03e59d97b35c9:/src/common/init.cpp diff --git a/src/common/init.cpp b/src/common/init.cpp index 639a614add..adb68c947c 100644 --- a/src/common/init.cpp +++ b/src/common/init.cpp @@ -27,12 +27,12 @@ #include "wx/app.h" #include "wx/filefn.h" #include "wx/log.h" - #include "wx/thread.h" #include "wx/intl.h" #include "wx/module.h" #endif #include "wx/init.h" +#include "wx/thread.h" #include "wx/ptr_scpd.h" #include "wx/except.h" @@ -179,7 +179,11 @@ static void ConvertArgsToUnicode(int argc, char **argv) int wargc = 0; for ( int i = 0; i < argc; i++ ) { +#ifdef __DARWIN__ + wxWCharBuffer buf(wxConvFileName->cMB2WX(argv[i])); +#else wxWCharBuffer buf(wxConvLocal.cMB2WX(argv[i])); +#endif if ( !buf ) { wxLogWarning(_("Command line argument %d couldn't be converted to Unicode and will be ignored."), @@ -394,8 +398,12 @@ void wxEntryCleanup() { wxTheApp->CleanUp(); - delete wxTheApp; + // reset the global pointer to it to NULL before destroying it as in + // some circumstances this can result in executing the code using + // wxTheApp and using half-destroyed object is no good + wxAppConsole * const app = wxApp::GetInstance(); wxApp::SetInstance(NULL); + delete app; }