X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/2ddff00c923d454f651aba32c8fe3654fd303e43..7256e9b6ad4bc899d7c4d1d70e7afc93965200f1:/src/dfb/app.cpp diff --git a/src/dfb/app.cpp b/src/dfb/app.cpp index bfde03508e..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() { } @@ -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,12 +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 = wx_static_cast(wxEventLoop *, wxEventLoop::GetActive()); + loop = static_cast(wxEventLoop::GetActive()); if ( loop ) loop->Yield(); @@ -200,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; }