Disable the for loop in ~wxAuiManager to avoid possibly accessing
memory via bad pointers. git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/branches/WX_2_8_BRANCH@45965 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
@@ -511,12 +511,19 @@ wxAuiManager::wxAuiManager(wxWindow* managed_wnd, unsigned int flags)
|
|||||||
|
|
||||||
wxAuiManager::~wxAuiManager()
|
wxAuiManager::~wxAuiManager()
|
||||||
{
|
{
|
||||||
|
// NOTE: It's possible that the windows have already been destroyed by the
|
||||||
|
// time this dtor is called, so this loop can result in memory access via
|
||||||
|
// invalid pointers, resulting in a crash. So it will be disabled while
|
||||||
|
// waiting for a better solution.
|
||||||
|
#if 0
|
||||||
for(size_t i = 0; i < m_panes.size(); i++ )
|
for(size_t i = 0; i < m_panes.size(); i++ )
|
||||||
{
|
{
|
||||||
wxAuiPaneInfo& pinfo = m_panes[i];
|
wxAuiPaneInfo& pinfo = m_panes[i];
|
||||||
if( pinfo.window && !pinfo.window->GetParent() )
|
if( pinfo.window && !pinfo.window->GetParent() )
|
||||||
delete pinfo.window;
|
delete pinfo.window;
|
||||||
}
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
delete m_art;
|
delete m_art;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user