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
This commit is contained in:
@@ -1005,6 +1005,15 @@ void wxApp::OnIdle(wxIdleEvent& event)
|
|||||||
|
|
||||||
s_inOnIdle = TRUE;
|
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().
|
// 'Garbage' collection of windows deleted with Close().
|
||||||
DeletePendingObjects();
|
DeletePendingObjects();
|
||||||
|
|
||||||
@@ -1023,11 +1032,6 @@ void wxApp::OnIdle(wxIdleEvent& event)
|
|||||||
event.RequestMore(TRUE);
|
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;
|
s_inOnIdle = FALSE;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user