From: Guillermo Rodriguez Garcia Date: Sun, 20 Feb 2000 01:04:34 +0000 (+0000) Subject: Process all pending events before starting to delete pending objects - X-Git-Url: https://git.saurik.com/wxWidgets.git/commitdiff_plain/52e52bea12264c6339963bcc79ce7d7a68910603 Process all pending events before starting to delete pending objects - specially important for wxPostEvent to work OK. git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@6153 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775 --- diff --git a/src/msw/app.cpp b/src/msw/app.cpp index cb05b27011..25181c2d11 100644 --- a/src/msw/app.cpp +++ b/src/msw/app.cpp @@ -1005,6 +1005,15 @@ void wxApp::OnIdle(wxIdleEvent& event) s_inOnIdle = TRUE; + // 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. Changed Feb/2000 before 2.1.14 + ProcessPendingEvents(); + // 'Garbage' collection of windows deleted with Close(). DeletePendingObjects(); @@ -1023,11 +1032,6 @@ void wxApp::OnIdle(wxIdleEvent& event) event.RequestMore(TRUE); } - // If they are pending events, we must process them: pending events are - // either events to the threads other than main or events posted with - // wxPostEvent() functions - ProcessPendingEvents(); - s_inOnIdle = FALSE; }