X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/90e15296e9208a869efcc96329597fa3bf263d26..844cada1622b2923754493a4c8eb91b82232093e:/src/common/appcmn.cpp diff --git a/src/common/appcmn.cpp b/src/common/appcmn.cpp index ef67c91681..af5a1d8ece 100644 --- a/src/common/appcmn.cpp +++ b/src/common/appcmn.cpp @@ -78,6 +78,8 @@ wxAppBase::wxAppBase() m_isActive = true; + m_isInsideYield = false; + // We don't want to exit the app if the user code shows a dialog from its // OnInit() -- but this is what would happen if we set m_exitOnFrameDelete // to Yes initially as this dialog would be the last top level window. @@ -351,11 +353,11 @@ void wxAppBase::DeletePendingObjects() // Returns true if more time is needed. bool wxAppBase::ProcessIdle() { - // process pending wx events before sending idle events - ProcessPendingEvents(); - + // call the base class version first, it will process the pending events + // (which should be done before the idle events generation) and send the + // idle event to wxTheApp itself + bool needMore = wxAppConsoleBase::ProcessIdle(); wxIdleEvent event; - bool needMore = false; wxWindowList::compatibility_iterator node = wxTopLevelWindows.GetFirst(); while (node) { @@ -365,9 +367,6 @@ bool wxAppBase::ProcessIdle() node = node->GetNext(); } - if (wxAppConsole::ProcessIdle()) - needMore = true; - // 'Garbage' collection of windows deleted with Close(). DeletePendingObjects();