]> git.saurik.com Git - wxWidgets.git/commitdiff
lock wxPendingEventsLocker when deleting the handler from wxPendingEvents (patch...
authorVadim Zeitlin <vadim@wxwidgets.org>
Thu, 27 Mar 2008 19:13:58 +0000 (19:13 +0000)
committerVadim Zeitlin <vadim@wxwidgets.org>
Thu, 27 Mar 2008 19:13:58 +0000 (19:13 +0000)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@52860 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775

src/common/event.cpp

index 69abfcc2bb9b50d705a542d4c0311f54d30e3a21..817f40e4a896829f7105c8bd96c072d1d68a58f2 100644 (file)
@@ -1187,7 +1187,17 @@ void wxEvtHandler::ProcessPendingEvents()
     // if there are no more pending events left, we don't need to stay in this
     // list
     if ( m_pendingEvents->IsEmpty() )
+    {
+#if wxUSE_THREADS
+        if (wxPendingEventsLocker)
+            wxENTER_CRIT_SECT(*wxPendingEventsLocker);
+#endif
         wxPendingEvents->DeleteObject(this);
+#if wxUSE_THREADS
+        if (wxPendingEventsLocker)
+            wxLEAVE_CRIT_SECT(*wxPendingEventsLocker);
+#endif
+    }
 
     wxLEAVE_CRIT_SECT( m_pendingEventsLock );