]> 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 6d72bb674c1916e52fe09a9e353bb16561e9956f..8ed9c42574bd819e46000b4ca920eb08c440b895 100644 (file)
@@ -83,30 +83,6 @@ private:
 
 wxDEFINE_TIED_SCOPED_PTR_TYPE(wxEventLoopImpl);
 
 
 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
 // ============================================================================
 // ============================================================================
 // wxEventLoopImpl implementation
 // ============================================================================
@@ -223,8 +199,6 @@ bool wxEventLoopImpl::SendIdleMessage()
 // wxEventLoop implementation
 // ============================================================================
 
 // wxEventLoop implementation
 // ============================================================================
 
-wxEventLoop *wxEventLoopBase::ms_activeLoop = NULL;
-
 // ----------------------------------------------------------------------------
 // wxEventLoop running and exiting
 // ----------------------------------------------------------------------------
 // ----------------------------------------------------------------------------
 // wxEventLoop running and exiting
 // ----------------------------------------------------------------------------
@@ -271,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
     // 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);
     wxEventLoopImplTiedPtr impl(&m_impl, new wxEventLoopImpl);
 
     CallEventLoopMethod  callOnExit(this, &wxEventLoop::OnExit);