diff --git a/src/aui/framemanager.cpp b/src/aui/framemanager.cpp index 358f149d31..3ae027d054 100644 --- a/src/aui/framemanager.cpp +++ b/src/aui/framemanager.cpp @@ -2067,6 +2067,22 @@ void wxFrameManager::Update() // reduce flicker p.window->SetSize(1,1); + + // the following block is a workaround for bug #1531361 + // (see wxWidgets sourceforge page). On wxGTK (only), when + // a frame is shown/hidden, a move event unfortunately + // also gets fired. Because we may be dragging around + // a pane, we need to cancel that action here to prevent + // a spurious crash. + if (m_action_window == p.frame) + { + if (wxWindow::GetCapture() == m_frame) + m_frame->ReleaseMouse(); + m_action = actionNone; + m_action_window = NULL; + } + + // hide the frame if (p.frame->IsShown()) p.frame->Show(false);