From 88d6047c74cf710ce5cced7eea122a710454d0f9 Mon Sep 17 00:00:00 2001 From: BDisp Date: Wed, 20 May 2020 18:36:27 +0100 Subject: [PATCH] Prevents mouse all events, which perform any of the mouse events, to be invoked if mouseEvent.ButtonState == 0 && mouseEvent.EventFlags == 0. (#453) * Prevents mouse all events, which perform any of the mouse events, to be invoked if mouseEvent.ButtonState == 0 && mouseEvent.EventFlags == 0. * Prevents another View under the menu from being triggered after the button is pressed in the menu. --- Terminal.Gui/Drivers/WindowsDriver.cs | 2 ++ Terminal.Gui/Views/Menu.cs | 2 +- 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/Terminal.Gui/Drivers/WindowsDriver.cs b/Terminal.Gui/Drivers/WindowsDriver.cs index 9625dbc7d..8de136777 100644 --- a/Terminal.Gui/Drivers/WindowsDriver.cs +++ b/Terminal.Gui/Drivers/WindowsDriver.cs @@ -807,6 +807,8 @@ namespace Terminal.Gui { } else if (mouseEvent.EventFlags == WindowsConsole.EventFlags.MouseMoved) { mouseFlag = MouseFlags.ReportMousePosition; + } else if (mouseEvent.ButtonState == 0 && mouseEvent.EventFlags == 0) { + mouseFlag = 0; } mouseFlag = SetControlKeyStates (mouseEvent, mouseFlag); diff --git a/Terminal.Gui/Views/Menu.cs b/Terminal.Gui/Views/Menu.cs index 73e0c7ade..56eecf66c 100644 --- a/Terminal.Gui/Views/Menu.cs +++ b/Terminal.Gui/Views/Menu.cs @@ -458,7 +458,7 @@ namespace Terminal.Gui { } host.handled = false; bool disabled; - if (me.Flags == MouseFlags.Button1Pressed || me.Flags == MouseFlags.Button1DoubleClicked) { + if (me.Flags == MouseFlags.Button1Clicked) { disabled = false; if (me.Y < 1) return true;