X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/955a919785b76a1826e6b8d55f696a0dfb62a318..2d34a3036ee7d4f1d2b6caf8a1e47f67930a430a:/src/common/appcmn.cpp diff --git a/src/common/appcmn.cpp b/src/common/appcmn.cpp index 164642f0f5..dd1636b598 100644 --- a/src/common/appcmn.cpp +++ b/src/common/appcmn.cpp @@ -236,8 +236,9 @@ bool wxAppBase::ProcessIdle() bool wxAppBase::SendIdleEvents(wxWindow* win, wxIdleEvent& event) { bool needMore = FALSE; - + win->OnInternalIdle(); + if (wxIdleEvent::CanSend(win)) { event.SetEventObject(win); @@ -246,12 +247,11 @@ bool wxAppBase::SendIdleEvents(wxWindow* win, wxIdleEvent& event) if (event.MoreRequested()) needMore = TRUE; } - wxWindowList::compatibility_iterator node = win->GetChildren().GetFirst(); while ( node ) { - wxWindow *win = node->GetData(); - if (SendIdleEvents(win, event)) + wxWindow *child = node->GetData(); + if (SendIdleEvents(child, event)) needMore = TRUE; node = node->GetNext(); @@ -260,7 +260,7 @@ bool wxAppBase::SendIdleEvents(wxWindow* win, wxIdleEvent& event) return needMore; } -void wxAppBase::OnIdle(wxIdleEvent& event) +void wxAppBase::OnIdle(wxIdleEvent& WXUNUSED(event)) { // If there are pending events, we must process them: pending events // are either events to the threads other than main or events posted