From c604fcb30af805754e26122fce845f86408c2b3f Mon Sep 17 00:00:00 2001 From: BDisp Date: Tue, 24 Aug 2021 16:22:31 +0100 Subject: [PATCH] NetDriver triple click bug fix. (#1422) --- Terminal.Gui/ConsoleDrivers/NetDriver.cs | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/Terminal.Gui/ConsoleDrivers/NetDriver.cs b/Terminal.Gui/ConsoleDrivers/NetDriver.cs index 7aceb48bd..332038a6f 100644 --- a/Terminal.Gui/ConsoleDrivers/NetDriver.cs +++ b/Terminal.Gui/ConsoleDrivers/NetDriver.cs @@ -698,6 +698,13 @@ namespace Terminal.Gui { mouseEvent.ButtonState = buttonState; //System.Diagnostics.Debug.WriteLine ($"ButtonState: {mouseEvent.ButtonState} X: {mouseEvent.Position.X} Y: {mouseEvent.Position.Y}"); + if (isButtonDoubleClicked) { + Application.MainLoop.AddIdle (() => { + Task.Run (async () => await ProcessButtonDoubleClickedAsync ()); + return false; + }); + } + if ((buttonState & MouseButtonState.Button1Pressed) != 0 || (buttonState & MouseButtonState.Button2Pressed) != 0 || (buttonState & MouseButtonState.Button3Pressed) != 0) { @@ -865,6 +872,13 @@ namespace Terminal.Gui { }); } + async Task ProcessButtonDoubleClickedAsync () + { + await Task.Delay (300); + isButtonDoubleClicked = false; + buttonPressedCount = 0; + } + void ProcessButtonDoubleClicked (MouseEvent mouseEvent) { var me = new MouseEvent () {