]> git.saurik.com Git - wxWidgets.git/blobdiff - src/aui/auibook.cpp
Avoid selecting/updating in destructor
[wxWidgets.git] / src / aui / auibook.cpp
index f387d6ed67654c7b1cd77174075863f272b5ba70..113fb0c5c4119a9bec64307e7961cb148bdcab48 100644 (file)
@@ -2865,6 +2865,9 @@ void wxAuiNotebook::InitNotebook(long style)
 
 wxAuiNotebook::~wxAuiNotebook()
 {
+    // Indicate we're deleting pages
+    m_isBeingDeleted = true;
+
     while ( GetPageCount() > 0 )
         DeletePage(0);
 
@@ -3225,7 +3228,7 @@ bool wxAuiNotebook::RemovePage(size_t page_idx)
     RemoveEmptyTabFrames();
 
     // set new active pane
-    if (new_active)
+    if (new_active && !m_isBeingDeleted)
     {
         m_curpage = -1;
         SetSelectionToWindow(new_active);
@@ -4104,7 +4107,8 @@ void wxAuiNotebook::RemoveEmptyTabFrames()
         m_mgr.GetPane(first_good).Centre();
     }
 
-    m_mgr.Update();
+    if (!m_isBeingDeleted)
+        m_mgr.Update();
 }
 
 void wxAuiNotebook::OnChildFocusNotebook(wxChildFocusEvent& evt)