changed processing of events to only process the events that were logged when entering wxMacProcessNotifierEvents, ignoring eventually added new ones during notifier processing

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@13577 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
Stefan Csomor 2002-01-14 21:04:31 +00:00
parent 4f5a32506a
commit 2c724d2535
2 changed files with 48 additions and 30 deletions

View File

@ -115,7 +115,15 @@ void wxMacProcessNotifierEvents()
// return ;
gInProcessing = true ;
while ( gMacNotificationEvents.top != gMacNotificationEvents.bottom )
if ( gMacNotificationEvents.top != gMacNotificationEvents.bottom )
{
// we only should process the notifiers that were here when we entered it
// otherwise we might never get out...
short count = gMacNotificationEvents.top - gMacNotificationEvents.bottom ;
if ( count < 0 )
count += kMaxEvents ;
while ( count-- )
{
// consume event at bottom
short index = gMacNotificationEvents.bottom++ ;
@ -132,6 +140,7 @@ void wxMacProcessNotifierEvents()
if ( handler )
handler( event , data ) ;
}
}
gInProcessing = false ;
}

View File

@ -115,7 +115,15 @@ void wxMacProcessNotifierEvents()
// return ;
gInProcessing = true ;
while ( gMacNotificationEvents.top != gMacNotificationEvents.bottom )
if ( gMacNotificationEvents.top != gMacNotificationEvents.bottom )
{
// we only should process the notifiers that were here when we entered it
// otherwise we might never get out...
short count = gMacNotificationEvents.top - gMacNotificationEvents.bottom ;
if ( count < 0 )
count += kMaxEvents ;
while ( count-- )
{
// consume event at bottom
short index = gMacNotificationEvents.bottom++ ;
@ -132,6 +140,7 @@ void wxMacProcessNotifierEvents()
if ( handler )
handler( event , data ) ;
}
}
gInProcessing = false ;
}