mirror of
https://github.com/gui-cs/Terminal.Gui.git
synced 2026-01-02 01:03:29 +01:00
Fixes #1088. On WindowsDriver moving the mouse with a button pressed, when it is released, the button clicked event is fired, causing an unintentional event.
This commit is contained in:
@@ -799,6 +799,11 @@ namespace Terminal.Gui {
|
||||
IsButtonReleased = false;
|
||||
}
|
||||
|
||||
var p = new Point () {
|
||||
X = mouseEvent.MousePosition.X,
|
||||
Y = mouseEvent.MousePosition.Y
|
||||
};
|
||||
|
||||
if ((mouseEvent.ButtonState != 0 && mouseEvent.EventFlags == 0 && LastMouseButtonPressed == null && !IsButtonDoubleClicked) ||
|
||||
(mouseEvent.EventFlags == WindowsConsole.EventFlags.MouseMoved &&
|
||||
mouseEvent.ButtonState != 0 && !IsButtonReleased && !IsButtonDoubleClicked)) {
|
||||
@@ -854,12 +859,7 @@ namespace Terminal.Gui {
|
||||
IsButtonPressed = false;
|
||||
IsButtonReleased = true;
|
||||
} else if ((mouseEvent.EventFlags == 0 || mouseEvent.EventFlags == WindowsConsole.EventFlags.MouseMoved) &&
|
||||
IsButtonReleased) {
|
||||
var p = new Point () {
|
||||
X = mouseEvent.MousePosition.X,
|
||||
Y = mouseEvent.MousePosition.Y
|
||||
};
|
||||
//if (p == point) {
|
||||
IsButtonReleased && p == point) {
|
||||
switch (LastMouseButtonPressed) {
|
||||
case WindowsConsole.ButtonState.Button1Pressed:
|
||||
mouseFlag = MouseFlags.Button1Clicked;
|
||||
@@ -877,9 +877,6 @@ namespace Terminal.Gui {
|
||||
X = mouseEvent.MousePosition.X,
|
||||
Y = mouseEvent.MousePosition.Y
|
||||
};
|
||||
//} else {
|
||||
// mouseFlag = 0;
|
||||
//}
|
||||
LastMouseButtonPressed = null;
|
||||
IsButtonReleased = false;
|
||||
} else if (mouseEvent.EventFlags.HasFlag (WindowsConsole.EventFlags.DoubleClick)) {
|
||||
|
||||
Reference in New Issue
Block a user