git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@29616
c3d73ce0-8a6f-49c7-b76d-
6d57e0e08775
void wxAppBase::CleanUp()
{
void wxAppBase::CleanUp()
{
- // one last chance for pending objects to be cleaned up
+ // clean up all the pending objects
+ // and any remaining TLWs (they remove themselves from wxTopLevelWindows
+ // when destroyed, so iterate until none are left)
+ while ( !wxTopLevelWindows.empty() )
+ {
+ // do not use Destroy() here as it only puts the TLW in pending list
+ // but we want to delete them now
+ delete wxTopLevelWindows.GetFirst()->GetData();
+ }
+
+ // undo everything we did in Initialize() above
wxBitmap::CleanUpHandlers();
wxDeleteStockObjects();
wxBitmap::CleanUpHandlers();
wxDeleteStockObjects();