From f1a3816cd9da0c3c7ceebe9735d37fb2d3158388 Mon Sep 17 00:00:00 2001 From: Vadim Zeitlin Date: Sun, 5 Nov 2023 23:50:51 +0100 Subject: [PATCH] Fix crash in wxAuiNotebook after dragging a page Fix using outdated click position in wxAuiTabCtrl mouse handlers, which resulted in an invalid wxEVT_AUINOTEBOOK_DRAG_MOTION event being generated and a crash while handling it. Ensure that we reset m_clickPt when resetting m_isDragging too so that we don't decide that we're dragging if the mouse enters the window with the left button already pressed after a previous drag. Closes #24027. --- src/aui/auibook.cpp | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/aui/auibook.cpp b/src/aui/auibook.cpp index d10384b71b..830798eff2 100644 --- a/src/aui/auibook.cpp +++ b/src/aui/auibook.cpp @@ -1099,6 +1099,7 @@ void wxAuiTabCtrl::OnCaptureLost(wxMouseCaptureLostEvent& WXUNUSED(event)) { if (m_isDragging) { + m_clickPt = wxDefaultPosition; m_isDragging = false; wxAuiNotebookEvent evt(wxEVT_AUINOTEBOOK_CANCEL_DRAG, m_windowId); @@ -1116,6 +1117,7 @@ void wxAuiTabCtrl::OnLeftUp(wxMouseEvent& evt) if (m_isDragging) { + m_clickPt = wxDefaultPosition; m_isDragging = false; wxAuiNotebookEvent e(wxEVT_AUINOTEBOOK_END_DRAG, m_windowId);