//to the list of the handlers with _delayed_ pending events
void DelayPendingEventHandler(wxEvtHandler* toDelay);
+ // deletes the current pending events
+ void DeletePendingEvents();
+
// wxEventLoop redirections
// ------------------------
// debugging support
// -----------------
-#ifdef __WXDEBUG__
// this function is called when an assert failure occurs, the base class
// version does the normal processing (i.e. shows the usual assert failure
// dialog box)
int line,
const wxChar *cond,
const wxChar *msg);
-#endif // __WXDEBUG__
// check that the wxBuildOptions object (constructed in the application
// itself, usually the one from IMPLEMENT_APP() macro) matches the build
// been started yet or has already terminated)
wxEventLoopBase *m_mainLoop;
+
+ // pending events management vars:
+
// the array of the handlers with pending events which needs to be processed
// inside ProcessPendingEvents()
wxEvtHandlerArray m_handlersWithPendingEvents;
- // helper array used by ProcessPendingEvents()
+ // helper array used by ProcessPendingEvents() to store the event handlers
+ // which have pending events but of these events none can be processed right now
+ // (because of a call to wxEventLoop::YieldFor() which asked to selectively process
+ // pending events)
wxEvtHandlerArray m_handlersWithPendingDelayedEvents;
#if wxUSE_THREADS
wxCriticalSection m_handlersWithPendingEventsLocker;
#endif
+ // flag modified by Suspend/ResumeProcessingOfPendingEvents()
+ bool m_bDoPendingEventProcessing;
+
friend class WXDLLIMPEXP_FWD_BASE wxEvtHandler;
// the application object is a singleton anyhow, there is no sense in