X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/a3e76614adbcebebc7ec4f64407d6b09a12d0892..4e5a4c69c540b430fba8efe5dae1bc1ffd5caeca:/src/mgl/app.cpp diff --git a/src/mgl/app.cpp b/src/mgl/app.cpp index 4ff72018bc..089ea11ad0 100644 --- a/src/mgl/app.cpp +++ b/src/mgl/app.cpp @@ -3,7 +3,7 @@ // Author: Vaclav Slavik // based on GTK and MSW implementations // Id: $Id$ -// Copyright: (c) 2001 SciTech Software, Inc. (www.scitechsoft.com) +// Copyright: (c) 2001-2002 SciTech Software, Inc. (www.scitechsoft.com) // Licence: wxWindows licence ///////////////////////////////////////////////////////////////////////////// @@ -142,9 +142,13 @@ class wxRootWindow : public wxWindow m_wnd = NULL; } - virtual bool AcceptsFocus() { return FALSE; } + virtual bool AcceptsFocus() const { return FALSE; } + + DECLARE_DYNAMIC_CLASS(wxRootWindow) }; +IMPLEMENT_DYNAMIC_CLASS(wxRootWindow, wxWindow) + static wxRootWindow *gs_rootWindow = NULL; //----------------------------------------------------------------------------- @@ -265,8 +269,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); @@ -407,12 +412,8 @@ bool wxApp::Initialize() if ( MGL_init(".", NULL) == 0 ) return FALSE; - wxBuffer = new wxChar[BUFSIZ + 512]; - wxClassInfo::InitializeClasses(); - wxSystemSettings::Init(); - #if wxUSE_INTL wxFont::SetDefaultEncoding(wxLocale::GetSystemEncoding()); #endif @@ -443,11 +444,6 @@ bool wxApp::Initialize() return TRUE; } -wxIcon wxApp::GetStdIcon(int which) const -{ - return wxTheme::Get()->GetRenderer()->GetStdIcon(which); -} - void wxApp::CleanUp() { #if wxUSE_LOG @@ -486,8 +482,6 @@ void wxApp::CleanUp() delete wxPendingEventsLocker; #endif - wxSystemSettings::Done(); - wxClassInfo::CleanUpClasses(); // Can't do this in wxModule, because fonts are needed by stock lists @@ -496,8 +490,6 @@ void wxApp::CleanUp() delete wxTheFontsManager; wxTheFontsManager = (wxFontsManager*) NULL; - delete[] wxBuffer; - // check for memory leaks #if (defined(__WXDEBUG__) && wxUSE_MEMORY_TRACING) || wxUSE_DEBUG_CONTEXT if (wxDebugContext::CountObjectsLeft(TRUE) > 0) @@ -543,6 +535,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?)