add wxAppConsoleBase::DeletePendingEvents and wxEvtHandler::DeletePendingEvents.
Fix wxAppConsoleBase::Suspend/ResumeProcessingOfPendingEvents: locking the mutex does not prevent wxAppConsoleBase::ProcessPendingEvents from running if the mutex was locked from the main thread! git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@59433 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
@@ -313,6 +313,9 @@ public:
|
||||
//to the list of the handlers with _delayed_ pending events
|
||||
void DelayPendingEventHandler(wxEvtHandler* toDelay);
|
||||
|
||||
// deletes the current pending events
|
||||
void DeletePendingEvents();
|
||||
|
||||
|
||||
// wxEventLoop redirections
|
||||
// ------------------------
|
||||
@@ -420,11 +423,17 @@ protected:
|
||||
// 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
|
||||
@@ -432,6 +441,9 @@ protected:
|
||||
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
|
||||
|
Reference in New Issue
Block a user