]> git.saurik.com Git - wxWidgets.git/blobdiff - src/dfb/app.cpp
added WXWIN_COMPATIBILITY_2_8
[wxWidgets.git] / src / dfb / app.cpp
index ea4764ccbc8ecd43ba3b51be35dd15783ffda77b..2cac31028be7194d4b18dab6b947e248b8d87038 100644 (file)
@@ -20,6 +20,7 @@
 
 #include "wx/evtloop.h"
 #include "wx/dfb/private.h"
+#include "wx/private/fontmgr.h"
 
 //-----------------------------------------------------------------------------
 // wxApp initialization
@@ -57,6 +58,9 @@ void wxApp::CleanUp()
 {
     wxAppBase::CleanUp();
 
+    wxFontsManager::CleanUp();
+
+    wxEventLoop::CleanUp();
     wxIDirectFB::CleanUp();
 }
 
@@ -66,16 +70,11 @@ void wxApp::CleanUp()
 
 static wxVideoMode GetCurrentVideoMode()
 {
-    wxVideoMode m;
-
-    wxIDirectFBSurfacePtr surface(wxIDirectFB::Get()->GetPrimarySurface());
-    if ( !surface )
-        return m; // invalid
-
-    surface->GetSize(&m.w, &m.h);
-    m.bpp = surface->GetDepth();
+    wxIDirectFBDisplayLayerPtr layer(wxIDirectFB::Get()->GetDisplayLayer());
+    if ( !layer )
+        return wxVideoMode(); // invalid
 
-    return m;
+    return layer->GetVideoMode();
 }
 
 wxVideoMode wxApp::GetDisplayMode() const
@@ -106,7 +105,9 @@ void wxApp::WakeUpIdle()
         wxMutexGuiEnter();
 #endif
 
-    wxEventLoop::GetActive()->WakeUp();
+    wxEventLoop * const loop = wxEventLoop::GetActive();
+    if ( loop )
+        loop->WakeUp();
 
 #if wxUSE_THREADS
     if (!wxThread::IsMain())
@@ -138,11 +139,9 @@ bool wxApp::Yield(bool onlyIfNeeded)
 
     wxLog::Suspend();
 
-    if ( wxEventLoop::GetActive() )
-    {
-        while (wxEventLoop::GetActive()->Pending())
-            wxEventLoop::GetActive()->Dispatch();
-    }
+    wxEventLoop * const loop = 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