X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/b11af9ed9d759a86275a4d28d59ba17b7f2c8d69..54e18afcca6b75bfaf9dd1f12f4a255df8ae089d:/src/dfb/app.cpp diff --git a/src/dfb/app.cpp b/src/dfb/app.cpp index c78010f081..c95912e538 100644 --- a/src/dfb/app.cpp +++ b/src/dfb/app.cpp @@ -19,6 +19,7 @@ #include "wx/app.h" #include "wx/evtloop.h" +#include "wx/thread.h" #include "wx/dfb/private.h" #include "wx/private/fontmgr.h" @@ -28,10 +29,6 @@ IMPLEMENT_DYNAMIC_CLASS(wxApp, wxEvtHandler) -BEGIN_EVENT_TABLE(wxApp, wxEvtHandler) - EVT_IDLE(wxAppBase::OnIdle) -END_EVENT_TABLE() - wxApp::wxApp() { } @@ -156,7 +153,7 @@ void wxApp::WakeUpIdle() wxMutexGuiEnter(); #endif - wxEventLoop * const loop = wxEventLoop::GetActive(); + wxEventLoopBase * const loop = wxEventLoop::GetActive(); if ( loop ) loop->WakeUp(); @@ -174,9 +171,7 @@ bool wxApp::Yield(bool onlyIfNeeded) return true; // can't process events from other threads #endif // wxUSE_THREADS - static bool s_inYield = false; - - if ( s_inYield ) + if ( m_isInsideYield ) { if ( !onlyIfNeeded ) { @@ -186,11 +181,14 @@ bool wxApp::Yield(bool onlyIfNeeded) return false; } - s_inYield = true; + m_isInsideYield = true; +#if wxUSE_LOG wxLog::Suspend(); +#endif // wxUSE_LOG - wxEventLoop * const loop = wxEventLoop::GetActive(); + wxEventLoop * const + loop = static_cast(wxEventLoop::GetActive()); if ( loop ) loop->Yield(); @@ -199,9 +197,11 @@ bool wxApp::Yield(bool onlyIfNeeded) // OnUpdateUI() which is a nice (and desired) side effect) while ( ProcessIdle() ) {} +#if wxUSE_LOG wxLog::Resume(); +#endif // wxUSE_LOG - s_inYield = false; + m_isInsideYield = false; return true; }