From 52e52bea12264c6339963bcc79ce7d7a68910603 Mon Sep 17 00:00:00 2001 From: Guillermo Rodriguez Garcia Date: Sun, 20 Feb 2000 01:04:34 +0000 Subject: [PATCH] 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 --- src/msw/app.cpp | 14 +++++++++----- 1 file changed, 9 insertions(+), 5 deletions(-) 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; } -- 2.47.2