From 46eac9e4e7655485e8089bca6dbd94aa4cbc5d86 Mon Sep 17 00:00:00 2001 From: Julian Smart Date: Fri, 9 Nov 2007 11:01:53 +0000 Subject: [PATCH] Don't delete dangling pointers in destructor (ported from 2.8) git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@49739 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775 --- src/aui/framemanager.cpp | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/src/aui/framemanager.cpp b/src/aui/framemanager.cpp index 6e38dd291d..cca1063c40 100644 --- a/src/aui/framemanager.cpp +++ b/src/aui/framemanager.cpp @@ -586,12 +586,18 @@ wxAuiManager::wxAuiManager(wxWindow* managed_wnd, unsigned int flags) 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++ ) { wxAuiPaneInfo& pinfo = m_panes[i]; if (pinfo.window && !pinfo.window->GetParent()) delete pinfo.window; } +#endif delete m_art; } -- 2.45.2