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
This commit is contained in:
Robert Roebling
2006-11-01 12:17:01 +00:00
parent 20d6447552
commit 49fa1dbb96

View File

@@ -970,6 +970,9 @@ bool wxFrameManager::DetachPane(wxWindow* window)
p.frame->Show(false); p.frame->Show(false);
// reparent to m_frame and destroy the pane // reparent to m_frame and destroy the pane
if(m_action_window == p.frame) {
m_action_window = NULL;
}
p.window->Reparent(m_frame); p.window->Reparent(m_frame);
p.frame->SetSizer(NULL); p.frame->SetSizer(NULL);
p.frame->Destroy(); p.frame->Destroy();
@@ -2091,6 +2094,9 @@ void wxFrameManager::Update()
p.frame->Show(false); p.frame->Show(false);
// reparent to m_frame and destroy the pane // reparent to m_frame and destroy the pane
if(m_action_window == p.frame) {
m_action_window = NULL;
}
p.window->Reparent(m_frame); p.window->Reparent(m_frame);
p.frame->SetSizer(NULL); p.frame->SetSizer(NULL);
p.frame->Destroy(); p.frame->Destroy();
@@ -3820,6 +3826,7 @@ void wxFrameManager::OnMotion(wxMouseEvent& event)
wxPoint pt = m_frame->ClientToScreen(event.GetPosition()); wxPoint pt = m_frame->ClientToScreen(event.GetPosition());
pane_info->floating_pos = wxPoint(pt.x - m_action_offset.x, pane_info->floating_pos = wxPoint(pt.x - m_action_offset.x,
pt.y - m_action_offset.y); pt.y - m_action_offset.y);
// float the window // float the window
pane_info->Float(); pane_info->Float();
Update(); Update();
@@ -3845,9 +3852,11 @@ void wxFrameManager::OnMotion(wxMouseEvent& event)
} }
else if (m_action == actionDragFloatingPane) else if (m_action == actionDragFloatingPane)
{ {
wxPoint pt = m_frame->ClientToScreen(event.GetPosition()); if(m_action_window) {
m_action_window->Move(pt.x - m_action_offset.x, wxPoint pt = m_frame->ClientToScreen(event.GetPosition());
pt.y - m_action_offset.y); m_action_window->Move(pt.x - m_action_offset.x,
pt.y - m_action_offset.y);
}
} }
else if (m_action == actionDragToolbarPane) else if (m_action == actionDragToolbarPane)
{ {