fix HasPendingEvents() to only return true if there are actually events pending

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@47463 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
Paul Cornett 2007-07-14 18:18:22 +00:00
parent d970f7d5cb
commit a1312bc8b2

View File

@ -330,16 +330,13 @@ bool wxAppConsoleBase::Dispatch()
bool wxAppConsoleBase::HasPendingEvents() const
{
// ensure that we're the only thread to modify the pending events list
wxENTER_CRIT_SECT( *wxPendingEventsLocker );
if ( !wxPendingEvents )
{
bool has = wxPendingEvents && !wxPendingEvents->IsEmpty();
wxLEAVE_CRIT_SECT( *wxPendingEventsLocker );
return false;
}
wxLEAVE_CRIT_SECT( *wxPendingEventsLocker );
return true;
return has;
}
/* static */
@ -357,11 +354,10 @@ void wxAppConsoleBase::ProcessPendingEvents()
return;
#endif
if ( !HasPendingEvents() )
return;
wxENTER_CRIT_SECT( *wxPendingEventsLocker );
if (wxPendingEvents)
{
// iterate until the list becomes empty
wxList::compatibility_iterator node = wxPendingEvents->GetFirst();
while (node)
@ -379,6 +375,7 @@ void wxAppConsoleBase::ProcessPendingEvents()
node = wxPendingEvents->GetFirst();
}
}
wxLEAVE_CRIT_SECT( *wxPendingEventsLocker );
}