destroy any TLWs still alive when the app terminates (avoids problems with classes unregistering under MSW and memory leaks everywhere)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@29616 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
@@ -128,9 +128,19 @@ wxAppBase::~wxAppBase()
|
||||
|
||||
void wxAppBase::CleanUp()
|
||||
{
|
||||
// one last chance for pending objects to be cleaned up
|
||||
// clean up all the pending objects
|
||||
DeletePendingObjects();
|
||||
|
||||
// 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();
|
||||
|
Reference in New Issue
Block a user