]> git.saurik.com Git - wxWidgets.git/blobdiff - src/aui/floatpane.cpp
vista tree crash fix
[wxWidgets.git] / src / aui / floatpane.cpp
index f98693a9d10399142f3729069af9d60b24a39916..ab81810d615cad41a22cc9dae25d1edadefbdcb5 100644 (file)
@@ -73,9 +73,11 @@ wxAuiFloatingFrame::wxAuiFloatingFrame(wxWindow* parent,
 wxAuiFloatingFrame::~wxAuiFloatingFrame()
 {
     // if we do not do this, then we can crash...
-    if (m_owner_mgr && m_owner_mgr->m_action_window == this)
+    if(m_owner_mgr)
     {
-        m_owner_mgr->m_action_window = NULL;
+        if(m_owner_mgr->m_action_window == this)
+            m_owner_mgr->m_action_window = NULL;
+        m_owner_mgr->UnregisterFloatingFrame(this);
     }
 
     m_mgr.UnInit();
@@ -151,6 +153,11 @@ wxAuiManager* wxAuiFloatingFrame::GetOwnerManager() const
     return m_owner_mgr;
 }
 
+void wxAuiFloatingFrame::SetOwnerManager(wxAuiManager* owner_mgr)
+{
+    // we want to allow for NULL here to avoid crashing in dtor
+    m_owner_mgr = owner_mgr;
+}
 
 void wxAuiFloatingFrame::OnSize(wxSizeEvent& event)
 {