Added part of patch

[ 1573619 ] Fix for Reentrance problems in events
  in slightly modified form.


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@41874 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
Robert Roebling
2006-10-10 10:28:00 +00:00
parent 6f1db55b94
commit 5fa150e233
3 changed files with 39 additions and 3 deletions

View File

@@ -2398,7 +2398,6 @@ public:
// add an event to be processed later
void AddPendingEvent(wxEvent& event);
// process all pending events
void ProcessPendingEvents();
#if wxUSE_THREADS
@@ -2458,6 +2457,11 @@ public:
void SetClientData( void *data ) { DoSetClientData(data); }
void *GetClientData() const { return DoGetClientData(); }
// reentrance guard
void AllowReentrance( bool allow = true ) { m_reentranceAllowed = allow; }
bool IsReentranceAllowed() { return m_reentranceAllowed; }
bool IsEventHandlingInProgress() { return m_eventHandlingInProgress; }
// check if the given event table entry matches this event and call the
// handler if it does
//
@@ -2527,6 +2531,9 @@ protected:
# endif
#endif
bool m_reentranceAllowed; // Reentrance is allowed for this handler?
bool m_eventHandlingInProgress; // Eventhandling is in progress?
// Is event handler enabled?
bool m_enabled;