- // we leave the loop once we have processed all events that were present at
- // the start of ProcessPendingEvents because otherwise we could get into
- // infinite loop if the pending event handler execution resulted in another
- // event being posted
- size_t n = m_pendingEvents->size();
- for ( wxList::compatibility_iterator node = m_pendingEvents->GetFirst();
- node;
- node = m_pendingEvents->GetFirst() )
- {
- wxEvent *event = (wxEvent *)node->GetData();
-
- // It's importan we remove event from list before processing it.
- // Else a nested event loop, for example from a modal dialog, might
- // process the same event again.
+ // this method is only called by wxApp if this handler does have
+ // pending events
+ wxCHECK_RET( m_pendingEvents && !m_pendingEvents->IsEmpty(),
+ "should have pending events if called" );