X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/df16a53ef9ae506c51023178e4fe45ce45e69447..1c405bb51093fc7812fb66e7d47faac5707e02b5:/src/mgl/app.cpp diff --git a/src/mgl/app.cpp b/src/mgl/app.cpp index d40b8d7062..c6fab2dc9b 100644 --- a/src/mgl/app.cpp +++ b/src/mgl/app.cpp @@ -220,6 +220,20 @@ wxApp::~wxApp() { } +wxDisplayModeInfo wxGetDefaultDisplayMode() +{ + wxString mode; + unsigned w, h, bpp; + + if ( !wxGetEnv(wxT("WXMODE"), &mode) || + (wxSscanf(mode.c_str(), _T("%ux%u-%u"), &w, &h, &bpp) != 3) ) + { + w = 640, h = 480, bpp = 16; + } + + return wxDisplayModeInfo(w, h, bpp); +} + bool wxApp::SetDisplayMode(const wxDisplayModeInfo& mode) { if ( !mode.IsOk() ) @@ -251,8 +265,9 @@ bool wxApp::OnInitGui() #ifdef __WXDEBUG__ // MGL redirects stdout and stderr to physical console, so lets redirect // it to file. Do it only when WXDEBUG environment variable is set - if ( wxGetEnv(wxT("WXDEBUG"), NULL) ) - freopen("output.err", "wt", stderr); + wxString redirect; + if ( wxGetEnv(wxT("WXSTDERR"), &redirect) ) + freopen(redirect.mb_str(), "wt", stderr); #endif wxLog *oldLog = wxLog::SetActiveTarget(new wxLogGui); @@ -397,8 +412,6 @@ bool wxApp::Initialize() wxClassInfo::InitializeClasses(); - wxSystemSettings::Init(); - #if wxUSE_INTL wxFont::SetDefaultEncoding(wxLocale::GetSystemEncoding()); #endif @@ -472,8 +485,6 @@ void wxApp::CleanUp() delete wxPendingEventsLocker; #endif - wxSystemSettings::Done(); - wxClassInfo::CleanUpClasses(); // Can't do this in wxModule, because fonts are needed by stock lists @@ -529,6 +540,12 @@ void wxEntryCleanup() int wxEntry(int argc, char *argv[]) { +#ifdef __DJGPP__ + // VS: disable long filenames under DJGPP as the very first thing, + // since SciTech MGL doesn't like them much... + wxSetEnv(wxT("LFN"), wxT("N")); +#endif + #if (defined(__WXDEBUG__) && wxUSE_MEMORY_TRACING) || wxUSE_DEBUG_CONTEXT // This seems to be necessary since there are 'rogue' // objects present at this point (perhaps global objects?)