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()
|
void wxAppBase::CleanUp()
|
||||||
{
|
{
|
||||||
// one last chance for pending objects to be cleaned up
|
// clean up all the pending objects
|
||||||
DeletePendingObjects();
|
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();
|
wxBitmap::CleanUpHandlers();
|
||||||
|
|
||||||
wxDeleteStockObjects();
|
wxDeleteStockObjects();
|
||||||
|
Reference in New Issue
Block a user