X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/1c7b2f01995f2c76e92408db8e80d049cc0ce467..ad4e3f7be6f20d5a164a608b44c51056231ddad9:/src/common/init.cpp diff --git a/src/common/init.cpp b/src/common/init.cpp index f15805e91f..9b87e18152 100644 --- a/src/common/init.cpp +++ b/src/common/init.cpp @@ -29,6 +29,7 @@ #include "wx/filefn.h" #include "wx/log.h" #include "wx/thread.h" + #include "wx/intl.h" #endif #include "wx/init.h" @@ -69,8 +70,8 @@ public: // we need a special kind of auto pointer to wxApp which not only deletes the // pointer it holds in its dtor but also resets the global application pointer -wxDECLARE_SCOPED_PTR(wxAppConsole, wxAppPtrBase); -wxDEFINE_SCOPED_PTR(wxAppConsole, wxAppPtrBase); +wxDECLARE_SCOPED_PTR(wxAppConsole, wxAppPtrBase) +wxDEFINE_SCOPED_PTR(wxAppConsole, wxAppPtrBase) class wxAppPtr : public wxAppPtrBase { @@ -363,7 +364,10 @@ static void DoCommonPostCleanup() FreeConvertedArgs(); #endif // wxUSE_UNICODE - // Note: check for memory leaks is now done via wxDebugContextDumpDelayCounter + // use Set(NULL) and not Get() to avoid creating a message output object on + // demand when we just want to delete it + delete wxMessageOutput::Set(NULL); + #if wxUSE_LOG // and now delete the last logger as well delete wxLog::SetActiveTarget(NULL); @@ -399,17 +403,13 @@ void wxEntryCleanup() int wxEntryReal(int& argc, wxChar **argv) { -#if wxUSE_LOG - // Create a non-GUI log target, to be used until GUI (if any) is ready. - // Target will be reset by wxAppConsole::Initialize, when GUI logging will work. - wxLog::GetActiveTarget(); -#endif - // library initialization if ( !wxEntryStart(argc, argv) ) { +#if wxUSE_LOG // flush any log messages explaining why we failed delete wxLog::SetActiveTarget(NULL); +#endif return -1; }