Process pending events before deleting pending objects, and do it

regardless of the value of wxUSE_THREADS (wxPostEvents can be used
in single threaded apps). Changed: wxApp::OnIdle


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@6754 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
Guillermo Rodriguez Garcia 2000-03-16 12:05:01 +00:00
parent 967a572877
commit 0ca580f6fb

View File

@ -477,13 +477,20 @@ void wxApp::OnIdle(wxIdleEvent& event)
inOnIdle = TRUE;
// 'Garbage' collection of windows deleted with Close().
DeletePendingObjects();
// If there are pending events, we must process them: pending events
// are either events to the threads other than main or events posted
// with wxPostEvent() functions
// GRG: I have moved this here so that all pending events are processed
// before starting to delete any objects. This behaves better (in
// particular, wrt wxPostEvent) and is coherent with wxGTK's current
// behaviour. Also removed the '#if wxUSE_THREADS' around it.
// Changed Mar/2000 before 2.1.14
#if wxUSE_THREADS
// Flush pending events.
ProcessPendingEvents();
#endif
// 'Garbage' collection of windows deleted with Close().
DeletePendingObjects();
// flush the logged messages if any
wxLog *pLog = wxLog::GetActiveTarget();