X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/670f9935630beb2123a5ca62894ae92a3f0efa4f..9534d0dfdc3c6fad8ea5d5fd31bbb6f20650929b:/src/mgl/app.cpp diff --git a/src/mgl/app.cpp b/src/mgl/app.cpp index bc64f28457..c0338c7834 100644 --- a/src/mgl/app.cpp +++ b/src/mgl/app.cpp @@ -22,16 +22,17 @@ #include "wx/dialog.h" #include "wx/log.h" #include "wx/intl.h" + #include "wx/module.h" #endif #include "wx/evtloop.h" -#include "wx/module.h" #include "wx/fontutil.h" #include "wx/univ/theme.h" #include "wx/univ/renderer.h" #include "wx/univ/colschem.h" #include "wx/sysopt.h" #include "wx/mgl/private.h" +#include "wx/private/fontmgr.h" //----------------------------------------------------------------------------- // wxApp::Exit() @@ -73,10 +74,11 @@ bool wxApp::Yield(bool onlyIfNeeded) wxLog::Suspend(); - if ( wxEventLoop::GetActive() ) + wxEventLoopBase * const eventLoop = wxEventLoop::GetActive(); + if ( eventLoop ) { - while (wxEventLoop::GetActive()->Pending()) - wxEventLoop::GetActive()->Dispatch(); + while (eventLoop->Pending()) + eventLoop->Dispatch(); } /* it's necessary to call ProcessIdle() to update the frames sizes which @@ -124,7 +126,7 @@ class wxRootWindow : public wxWindow SetMGLwindow_t(MGL_wmGetRootWindow(g_winMng)); SetBackgroundColour(wxTHEME_COLOUR(DESKTOP)); } - ~wxRootWindow() + virtual ~wxRootWindow() { // we don't want to delete MGL_WM's rootWnd m_wnd = NULL; @@ -199,11 +201,6 @@ static void wxDestroyMGL_WM() IMPLEMENT_DYNAMIC_CLASS(wxApp,wxEvtHandler) -BEGIN_EVENT_TABLE(wxApp, wxEvtHandler) - EVT_IDLE(wxAppBase::OnIdle) -END_EVENT_TABLE() - - wxApp::wxApp() { } @@ -283,14 +280,8 @@ bool wxApp::Initialize(int& argc, wxChar **argv) return false; } - // must do it before calling wxAppBase::Initialize(), because fonts are - // needed by stock lists which are created there - wxTheFontsManager = new wxFontsManager; - if ( !wxAppBase::Initialize(argc, argv) ) { - delete wxTheFontsManager; - wxTheFontsManager = NULL; MGL_exit(); return false; } @@ -313,8 +304,7 @@ struct wxMGLFinalCleanup: public wxModule void OnExit() { - delete wxTheFontsManager; - wxTheFontsManager = (wxFontsManager*) NULL; + wxFontsManager::CleanUp(); wxDestroyMGL_WM(); MGL_exit();