1. removed code that already exist in ~wxTLWBase from ~wxTLW
2. reordered TLW destruction so that the TLW is fully usable until all children (that could possibly use it from their dtors) are destroyed git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@43902 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
@@ -176,16 +176,11 @@ wxTopLevelWindowDFB::~wxTopLevelWindowDFB()
|
|||||||
{
|
{
|
||||||
m_isBeingDeleted = true;
|
m_isBeingDeleted = true;
|
||||||
|
|
||||||
wxTopLevelWindows.DeleteObject(this);
|
// destroy all children before we destroy the underlying DirectFB window,
|
||||||
|
// so that if any of them does something with the TLW, it will still work:
|
||||||
if ( wxTheApp->GetTopWindow() == this )
|
DestroyChildren();
|
||||||
wxTheApp->SetTopWindow(NULL);
|
|
||||||
|
|
||||||
if ( wxTopLevelWindows.empty() && wxTheApp->GetExitOnFrameDelete() )
|
|
||||||
{
|
|
||||||
wxTheApp->ExitMainLoop();
|
|
||||||
}
|
|
||||||
|
|
||||||
|
// it's safe to delete the underlying DirectFB window now:
|
||||||
wxDELETE(m_toPaint);
|
wxDELETE(m_toPaint);
|
||||||
|
|
||||||
if ( !m_dfbwin )
|
if ( !m_dfbwin )
|
||||||
|
Reference in New Issue
Block a user