call ProcessPendingEvents() from wxAppConsoleBase::ProcessIdle() too, not only from wxAppBase::ProcessIdle(); do not call it from wxConsoleEventLoop::Dispatch() as this results in unwanted reentrancies in the socket code when using it
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@57799 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
@@ -353,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)
|
||||
{
|
||||
@@ -367,9 +367,6 @@ bool wxAppBase::ProcessIdle()
|
||||
node = node->GetNext();
|
||||
}
|
||||
|
||||
if (wxAppConsole::ProcessIdle())
|
||||
needMore = true;
|
||||
|
||||
// 'Garbage' collection of windows deleted with Close().
|
||||
DeletePendingObjects();
|
||||
|
||||
|
||||
Reference in New Issue
Block a user