X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/b1ac3b56e6b5b7342d69aa3b33744c345edb3d1e..68698f0308f5c46966b7de12b34f68ec23dd3ec8:/src/common/init.cpp diff --git a/src/common/init.cpp b/src/common/init.cpp index 6182c6734f..4f0aed6e49 100644 --- a/src/common/init.cpp +++ b/src/common/init.cpp @@ -27,6 +27,7 @@ #include "wx/app.h" #include "wx/debug.h" #include "wx/filefn.h" + #include "wx/log.h" #endif #include "wx/module.h" @@ -48,7 +49,6 @@ class /* no WXDLLEXPORT */ wxConsoleApp : public wxApp { public: virtual int OnRun() { wxFAIL_MSG(wxT("unreachable")); return 0; } - virtual bool ProcessIdle() { return TRUE; } }; // ---------------------------------------------------------------------------- @@ -110,7 +110,6 @@ bool WXDLLEXPORT wxInitialize() return FALSE; } - wxTheApp->DoInit(); gs_nInitCount++; return TRUE; @@ -150,18 +149,16 @@ int wxEntry(int argc, char **argv) #if wxUSE_UNICODE wxTheApp->argv = new wxChar*[argc+1]; - int mb_argc = 0; - while (mb_argc < argc) + for ( int mb_argc = 0; mb_argc < argc; mb_argc++ ) { wxTheApp->argv[mb_argc] = wxStrdup(wxConvLocal.cMB2WX(argv[mb_argc])); - mb_argc++; } wxTheApp->argv[mb_argc] = (wxChar *)NULL; #else wxTheApp->argv = argv; #endif - wxString name = wxFileNameFromPath(argv[0]); + wxString name = wxFileNameFromPath(wxTheApp->argv[0]); wxStripExtension(name); wxTheApp->SetAppName(name); @@ -222,6 +219,14 @@ static void DoCleanUp() wxClassInfo::CleanUpClasses(); + // TODO: this should really be done in ~wxApp +#if wxUSE_UNICODE + for ( int mb_argc = 0; mb_argc < wxTheApp->argc; mb_argc++ ) + { + free(wxTheApp->argv[mb_argc]); + } +#endif // wxUSE_UNICODE + // delete the application object delete wxTheApp; wxTheApp = (wxApp *)NULL; @@ -231,3 +236,4 @@ static void DoCleanUp() delete wxLog::SetActiveTarget(NULL); #endif // wxUSE_LOG } +