From: Robert Roebling Date: Wed, 1 Nov 2006 12:17:01 +0000 (+0000) Subject: Also apply second part of patch for preventing X-Git-Url: https://git.saurik.com/wxWidgets.git/commitdiff_plain/49fa1dbb962e3cce7889a0c9337981713f524673 Also apply second part of patch for preventing aui crashes. git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@42900 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775 --- diff --git a/src/aui/framemanager.cpp b/src/aui/framemanager.cpp index 2d245c525f..efe9c09218 100644 --- a/src/aui/framemanager.cpp +++ b/src/aui/framemanager.cpp @@ -970,6 +970,9 @@ bool wxFrameManager::DetachPane(wxWindow* window) p.frame->Show(false); // reparent to m_frame and destroy the pane + if(m_action_window == p.frame) { + m_action_window = NULL; + } p.window->Reparent(m_frame); p.frame->SetSizer(NULL); p.frame->Destroy(); @@ -2091,6 +2094,9 @@ void wxFrameManager::Update() p.frame->Show(false); // reparent to m_frame and destroy the pane + if(m_action_window == p.frame) { + m_action_window = NULL; + } p.window->Reparent(m_frame); p.frame->SetSizer(NULL); p.frame->Destroy(); @@ -3820,6 +3826,7 @@ void wxFrameManager::OnMotion(wxMouseEvent& event) wxPoint pt = m_frame->ClientToScreen(event.GetPosition()); pane_info->floating_pos = wxPoint(pt.x - m_action_offset.x, pt.y - m_action_offset.y); + // float the window pane_info->Float(); Update(); @@ -3845,9 +3852,11 @@ void wxFrameManager::OnMotion(wxMouseEvent& event) } else if (m_action == actionDragFloatingPane) { - wxPoint pt = m_frame->ClientToScreen(event.GetPosition()); - m_action_window->Move(pt.x - m_action_offset.x, - pt.y - m_action_offset.y); + if(m_action_window) { + wxPoint pt = m_frame->ClientToScreen(event.GetPosition()); + m_action_window->Move(pt.x - m_action_offset.x, + pt.y - m_action_offset.y); + } } else if (m_action == actionDragToolbarPane) {