X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/7608fd01a153e75d5a46da72df73b94b9f73320c..40e5ebbf98728d627e4d3c9e3a57f28f5bb8fcb9:/src/aui/framemanager.cpp diff --git a/src/aui/framemanager.cpp b/src/aui/framemanager.cpp index 30197f6d84..5ae4d181a1 100644 --- a/src/aui/framemanager.cpp +++ b/src/aui/framemanager.cpp @@ -511,11 +511,10 @@ wxAuiManager::wxAuiManager(wxWindow* managed_wnd, unsigned int flags) wxAuiManager::~wxAuiManager() { - int i; - for (i = 0; i < m_panes.Count(); i++ ) + for ( size_t i = 0; i < m_panes.size(); i++ ) { - wxAuiPaneInfo& pinfo = m_panes.Item(i); - if (pinfo.window && pinfo.window->GetParent() == 0) + wxAuiPaneInfo& pinfo = m_panes[i]; + if (pinfo.window && !pinfo.window->GetParent()) delete pinfo.window; } @@ -3541,6 +3540,10 @@ void wxAuiManager::OnFloatingPaneActivated(wxWindow* wnd) void wxAuiManager::OnRender(wxAuiManagerEvent& evt) { + // if the frame is about to be deleted, don't bother + if (!m_frame || wxPendingDelete.Member(m_frame)) + return; + wxDC* dc = evt.GetDC(); #ifdef __WXMAC__