From a6994201048dd425e55fafca4369646cb5753ed4 Mon Sep 17 00:00:00 2001 From: Vadim Zeitlin Date: Sun, 15 May 2011 16:16:11 +0000 Subject: [PATCH] Allow dragging floating AUI frames by the gripper. Previously starting to drag a pane by its gripper worked but once it undocked it was impossible to drag it by the gripper any more which was annoying for the user and unexpected. Fix this by ensuring that we move the correct top level window and not the child window when dragging floating panes. Closes #13177. git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@67751 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775 --- src/aui/framemanager.cpp | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/src/aui/framemanager.cpp b/src/aui/framemanager.cpp index b4b08093c7..bdb37e182c 100644 --- a/src/aui/framemanager.cpp +++ b/src/aui/framemanager.cpp @@ -4623,6 +4623,15 @@ void wxAuiManager::OnMotion(wxMouseEvent& event) { if (m_action_window) { + // We can't move the child window so we need to get the frame that + // we want to be really moving. This is probably not the best place + // to do this but at least it fixes the bug (#13177) for now. + if (!m_action_window->IsKindOf(CLASSINFO(wxAuiFloatingFrame))) + { + wxAuiPaneInfo& pane = GetPane(m_action_window); + m_action_window = pane.frame; + } + wxPoint pt = m_frame->ClientToScreen(event.GetPosition()); m_action_window->Move(pt.x - m_action_offset.x, pt.y - m_action_offset.y); -- 2.45.2