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:
@@ -298,6 +298,15 @@ void wxAppConsole::ProcessPendingEvents()
|
||||
|
||||
// iterate until the list becomes empty
|
||||
wxList::compatibility_iterator node = wxPendingEvents->GetFirst();
|
||||
|
||||
while (node &&
|
||||
((wxEvtHandler *)node->GetData())->IsEventHandlingInProgress() &&
|
||||
((wxEvtHandler *)node->GetData())->IsReentranceAllowed() == false)
|
||||
{
|
||||
// skip over event
|
||||
node = node->GetNext();
|
||||
}
|
||||
|
||||
while (node)
|
||||
{
|
||||
wxEvtHandler *handler = (wxEvtHandler *)node->GetData();
|
||||
@@ -312,6 +321,14 @@ void wxAppConsole::ProcessPendingEvents()
|
||||
wxENTER_CRIT_SECT( *wxPendingEventsLocker );
|
||||
|
||||
node = wxPendingEvents->GetFirst();
|
||||
|
||||
while (node &&
|
||||
((wxEvtHandler *)node->GetData())->IsEventHandlingInProgress() &&
|
||||
((wxEvtHandler *)node->GetData())->IsReentranceAllowed() == false)
|
||||
{
|
||||
// skip over event
|
||||
node = node->GetNext();
|
||||
}
|
||||
}
|
||||
|
||||
wxLEAVE_CRIT_SECT( *wxPendingEventsLocker );
|
||||
|
Reference in New Issue
Block a user