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. See #24027, #24039. (cherry picked from commit f1a3816cd9da0c3c7ceebe9735d37fb2d3158388)
This commit is contained in:
parent
4fab20cca1
commit
f3bfd94bbf
@ -242,6 +242,7 @@ All:
|
||||
|
||||
All (GUI):
|
||||
|
||||
- Fix possible crash when dragging pages in wxAuiNotebook (#24027).
|
||||
- Fix refreshing multiple selection items in generic wxListCtrl.
|
||||
|
||||
wxGTK:
|
||||
|
@ -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);
|
||||
|
Loading…
Reference in New Issue
Block a user