void wxApp::OnIdle(wxIdleEvent& event)
{
- wxAppBase::OnIdle(event);
-
- // If they are pending events, we must process them: pending events are
- // either events to the threads other than main or events posted with
- // wxPostEvent() functions
- wxMacProcessNotifierAndPendingEvents();
+ wxMacProcessNotifierEvents();
if (!wxMenuBar::MacGetInstalledMenuBar() && wxMenuBar::MacGetCommonMenuBar())
wxMenuBar::MacGetCommonMenuBar()->MacInstallMenuBar();
return false;
}
+#if wxUSE_THREADS
+ // Yielding from a non-gui thread needs to bail out, otherwise we end up
+ // possibly sending events in the thread too.
+ if ( !wxThread::IsMain() )
+ {
+ return true;
+ }
+#endif // wxUSE_THREADS
+
s_inYield = true;
// by definition yield should handle all non-processed events