From da612f02b5a8f2a8a8f8832dd12edd5a199cb066 Mon Sep 17 00:00:00 2001 From: Vadim Zeitlin Date: Thu, 6 Dec 2018 22:53:28 +0100 Subject: [PATCH] Stop editing in generic wxDataViewCtrl when any button is pressed Previously, the editor was hidden if the left mouse button was pressed, but not for the right (or any other) button, which could result in a confusing situation when a user could select a command from a context menu shown from the corresponding event handler and start editing another item while the current one was still being edited too. --- src/generic/datavgen.cpp | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/src/generic/datavgen.cpp b/src/generic/datavgen.cpp index f5c60b3953..f94700b072 100644 --- a/src/generic/datavgen.cpp +++ b/src/generic/datavgen.cpp @@ -4558,6 +4558,12 @@ void wxDataViewMainWindow::OnMouse( wxMouseEvent &event ) // setting focus to this window as most (all?) of them do by default, // so skip it to enable default handling. event.Skip(); + + // Also stop editing if any mouse button is pressed: this is not really + // necessary for the left button, as it would result in a focus loss + // that would make the editor close anyhow, but we do need to do it for + // the other ones and it does no harm to do it for the left one too. + FinishEditing(); } // Handle right clicking here, before everything else as context menu