]> git.saurik.com Git - wxWidgets.git/blobdiff - src/dfb/app.cpp
Don't call wxSafeYield() from wxGenericListCtrl::EditLabel().
[wxWidgets.git] / src / dfb / app.cpp
index 9fac9fec8673f619727125dd11b80884264b1aa6..8df872883cb2948640e6320272aa218d0b40718d 100644 (file)
@@ -2,7 +2,6 @@
 // Name:        src/dfb/app.cpp
 // Purpose:     wxApp implementation
 // Author:      Vaclav Slavik
-//              based on MGL implementation
 // Created:     2006-08-16
 // RCS-ID:      $Id$
 // Copyright:   (c) 2006 REA Elektronik GmbH
@@ -19,6 +18,7 @@
 #include "wx/app.h"
 
 #include "wx/evtloop.h"
+#include "wx/thread.h"
 #include "wx/dfb/private.h"
 #include "wx/private/fontmgr.h"
 
@@ -147,62 +147,9 @@ bool wxApp::SetDisplayMode(const wxVideoMode& mode)
 
 void wxApp::WakeUpIdle()
 {
-#if wxUSE_THREADS
-    if (!wxThread::IsMain())
-        wxMutexGuiEnter();
-#endif
-
+    // we don't need a mutex here, since we use the wxConsoleEventLoop
+    // and wxConsoleEventLoop::WakeUp() is thread-safe
     wxEventLoopBase * const loop = wxEventLoop::GetActive();
     if ( loop )
         loop->WakeUp();
-
-#if wxUSE_THREADS
-    if (!wxThread::IsMain())
-        wxMutexGuiLeave();
-#endif
-}
-
-
-bool wxApp::Yield(bool onlyIfNeeded)
-{
-#if wxUSE_THREADS
-    if ( !wxThread::IsMain() )
-        return true; // can't process events from other threads
-#endif // wxUSE_THREADS
-
-    static bool s_inYield = false;
-
-    if ( s_inYield )
-    {
-        if ( !onlyIfNeeded )
-        {
-            wxFAIL_MSG( wxT("wxYield called recursively" ) );
-        }
-
-        return false;
-    }
-
-    s_inYield = true;
-
-#if wxUSE_LOG
-    wxLog::Suspend();
-#endif // wxUSE_LOG
-
-    wxEventLoop * const
-        loop = wx_static_cast(wxEventLoop *, wxEventLoop::GetActive());
-    if ( loop )
-        loop->Yield();
-
-    // 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 ( ProcessIdle() ) {}
-
-#if wxUSE_LOG
-    wxLog::Resume();
-#endif // wxUSE_LOG
-
-    s_inYield = false;
-
-    return true;
 }