X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/d181e877b04950068cb809b0d3d1a911bea3de74..b404a8f3b072129c107c6d9a5e0f6f53cd34807b:/src/mgl/app.cpp?ds=sidebyside diff --git a/src/mgl/app.cpp b/src/mgl/app.cpp index 0c0a1ac7d4..753d2df7f6 100644 --- a/src/mgl/app.cpp +++ b/src/mgl/app.cpp @@ -44,53 +44,6 @@ void wxApp::Exit() exit(0); } -//----------------------------------------------------------------------------- -// wxYield -//----------------------------------------------------------------------------- - -bool wxApp::Yield(bool onlyIfNeeded) -{ - if ( m_isInsideYield ) - { - if ( !onlyIfNeeded ) - { - wxFAIL_MSG( wxT("wxYield called recursively" ) ); - } - - return false; - } - -#if wxUSE_THREADS - if ( !wxThread::IsMain() ) - { - // can't process events from other threads, MGL is thread-unsafe - return true; - } -#endif // wxUSE_THREADS - - m_isInsideYield = true; - - wxLog::Suspend(); - - wxEventLoopBase * const eventLoop = wxEventLoop::GetActive(); - if ( eventLoop ) - { - while (eventLoop->Pending()) - eventLoop->Dispatch(); - } - - /* it's necessary to call ProcessIdle() to update the frames sizes which - might have been changed (it also will update other things set from - OnUpdateUI() which is a nice (and desired) side effect) */ - while (wxTheApp->ProcessIdle()) { } - - wxLog::Resume(); - - m_isInsideYield = false; - - return true; -} - //----------------------------------------------------------------------------- // wxWakeUpIdle @@ -167,8 +120,7 @@ static bool wxCreateMGL_WM(const wxVideoMode& displayMode) g_displayDC = new MGLDisplayDC(mode, 1, refresh); if ( !g_displayDC->isValid() ) { - delete g_displayDC; - g_displayDC = NULL; + wxDELETE(g_displayDC); return false; } @@ -186,11 +138,7 @@ static void wxDestroyMGL_WM() MGL_wmDestroy(g_winMng); g_winMng = NULL; } - if ( g_displayDC ) - { - delete g_displayDC; - g_displayDC = NULL; - } + wxDELETE(g_displayDC); } //----------------------------------------------------------------------------- @@ -213,7 +161,7 @@ wxVideoMode wxGetDefaultDisplayMode() unsigned w, h, bpp; if ( !wxGetEnv(wxT("WXMODE"), &mode) || - (wxSscanf(mode.c_str(), _T("%ux%u-%u"), &w, &h, &bpp) != 3) ) + (wxSscanf(mode.c_str(), wxT("%ux%u-%u"), &w, &h, &bpp) != 3) ) { w = 640, h = 480, bpp = 16; } @@ -249,13 +197,12 @@ bool wxApp::OnInitGui() if ( !wxAppBase::OnInitGui() ) return false; -#ifdef __WXDEBUG__ - // MGL redirects stdout and stderr to physical console, so lets redirect - // it to file in debug build. Do it only when WXSTDERR environment variable is set + // MGL redirects stdout and stderr to physical console, so let's redirect + // it to file if WXSTDERR environment variable is set to be able to see + // wxLogDebug() output wxString redirect; if ( wxGetEnv(wxT("WXSTDERR"), &redirect) ) freopen(redirect.mb_str(), "wt", stderr); -#endif // __WXDEBUG__ wxLog *oldLog = wxLog::SetActiveTarget(new wxLogGui); if ( oldLog ) delete oldLog;