+#if wxUSE_THREADS
+void wxApp::ProcessPendingEvents()
+{
+ wxNode *node = wxPendingEvents.First();
+ wxCriticalSectionLocker locker(wxPendingEventsLocker);
+
+ while (node)
+ {
+ wxEvtHandler *handler = (wxEvtHandler *)node->Data();
+
+ handler->ProcessPendingEvents();
+
+ delete node;
+
+ node = wxPendingEvents.First();
+ }
+}
+#endif
+