]> git.saurik.com Git - wxWidgets.git/blobdiff - src/msw/app.cpp
Process all pending events before starting to delete pending objects -
[wxWidgets.git] / src / msw / app.cpp
index cb05b27011235e7e5fd6beb5f5f7921b8d58d48c..25181c2d11594bb15af85591585a3f789e045792 100644 (file)
@@ -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;
 }