]> git.saurik.com Git - wxWidgets.git/blobdiff - src/os2/evtloop.cpp
don't compare invalid iterators/node pointers
[wxWidgets.git] / src / os2 / evtloop.cpp
index 8ca8d5c0c02d5406b1b0ec45e093136bd0a87a07..8ed9c42574bd819e46000b4ca920eb08c440b895 100644 (file)
 // headers
 // ----------------------------------------------------------------------------
 
-#ifdef __GNUG__
-    #pragma implementation "evtloop.h"
-#endif
-
 // For compilers that support precompilation, includes "wx.h".
 #include "wx/wxprec.h"
 
@@ -87,30 +83,6 @@ private:
 
 wxDEFINE_TIED_SCOPED_PTR_TYPE(wxEventLoopImpl);
 
-// this object sets the wxEventLoop given to the ctor as the currently active
-// one and unsets it in its dtor
-class wxEventLoopActivator
-{
-public:
-    wxEventLoopActivator(wxEventLoop **pActive,
-                         wxEventLoop *evtLoop)
-    {
-        m_pActive = pActive;
-        m_evtLoopOld = *pActive;
-        *pActive = evtLoop;
-    }
-
-    ~wxEventLoopActivator()
-    {
-        // restore the previously active event loop
-        *m_pActive = m_evtLoopOld;
-    }
-
-private:
-    wxEventLoop *m_evtLoopOld;
-    wxEventLoop **m_pActive;
-};
-
 // ============================================================================
 // wxEventLoopImpl implementation
 // ============================================================================
@@ -191,8 +163,7 @@ bool wxEventLoopImpl::PreProcessMessage(QMSG *pMsg)
            for(pWnd = pWndThis; pWnd; pWnd = pWnd->GetParent() )
            {
                if((bRc = pWnd->OS2TranslateMessage((WXMSG*)pMsg)) == TRUE)
-                  return TRUE;
-              //  break;
+                   break;
            // stop at first top level window, i.e. don't try to process the
            // key strokes originating in a dialog using the accelerators of
            // the parent frame - this doesn't make much sense
@@ -228,8 +199,6 @@ bool wxEventLoopImpl::SendIdleMessage()
 // wxEventLoop implementation
 // ============================================================================
 
-wxEventLoop *wxEventLoop::ms_activeLoop = NULL;
-
 // ----------------------------------------------------------------------------
 // wxEventLoop running and exiting
 // ----------------------------------------------------------------------------
@@ -239,11 +208,6 @@ wxEventLoop::~wxEventLoop()
     wxASSERT_MSG( !m_impl, _T("should have been deleted in Run()") );
 }
 
-bool wxEventLoop::IsRunning() const
-{
-    return m_impl != NULL;
-}
-
 //////////////////////////////////////////////////////////////////////////////
 //
 // Keep trying to process messages until WM_QUIT
@@ -281,7 +245,7 @@ int wxEventLoop::Run()
     // SendIdleMessage() and Dispatch() below may throw so the code here should
     // be exception-safe, hence we must use local objects for all actions we
     // should undo
-    wxEventLoopActivator activate(&ms_activeLoop, this);
+    wxEventLoopActivator activate(this);
     wxEventLoopImplTiedPtr impl(&m_impl, new wxEventLoopImpl);
 
     CallEventLoopMethod  callOnExit(this, &wxEventLoop::OnExit);
@@ -297,7 +261,7 @@ int wxEventLoop::Run()
         while ( !Pending() && m_impl->SendIdleMessage() )
        {
            wxTheApp->HandleSockets();
-           wxUsleep(10);
+           wxMilliSleep(10);
        }
 
         wxTheApp->HandleSockets();
@@ -310,7 +274,7 @@ int wxEventLoop::Run()
            }
        }
         else
-            wxUsleep(10);
+            wxMilliSleep(10);
     }
 
     return m_impl->GetExitCode();