No real changes, just refactor wxEventLoop/wxApp::ProcessIdle().

Old code called wxApp::ProcessIdle() from wxEventLoopManualRun::Run() which called wxEventLoop::ProcessIdle() which called wxApp methods from it. In the new version wxEventLoopManualRun::Run() calls wxEventLoopManualRun::ProcessIdle() which calls wxApp::ProcessIdle() which calls other wxApp methods which seems to make more sense and also allows overriding ProcessIdle() in either wxEventLoopManual or wxApp-derived classes.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@61441 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
Vadim Zeitlin
2009-07-17 16:52:43 +00:00
parent 58dcd1ae52
commit a758f601dd
4 changed files with 23 additions and 18 deletions

View File

@@ -333,9 +333,15 @@ void wxAppConsoleBase::WakeUpIdle()
bool wxAppConsoleBase::ProcessIdle()
{
wxEventLoopBase * const loop = wxEventLoopBase::GetActive();
// process pending wx events before sending idle events
ProcessPendingEvents();
return loop && loop->ProcessIdle();
// synthesize an idle event and check if more of them are needed
wxIdleEvent event;
event.SetEventObject(this);
ProcessEvent(event);
return event.MoreRequested();
}
// ----------------------------------------------------------------------------