Tig před 9 měsíci
rodič
revize
e6fd6350ba

+ 1 - 2
Terminal.Gui/View/View.Mouse.cs

@@ -251,7 +251,7 @@ public partial class View // Mouse APIs
         }
 
         // Post-Conditions
-        if (HighlightStyle != HighlightStyle.None || (WantContinuousButtonPressed && WantMousePositionReports))
+        if (HighlightStyle != HighlightStyle.None || WantContinuousButtonPressed)
         {
             if (WhenGrabbedHandlePressed (mouseEvent))
             {
@@ -527,7 +527,6 @@ public partial class View // Mouse APIs
 
             if (WantContinuousButtonPressed && Application.MouseGrabView == this)
             {
-                // If this is not the first pressed event, generate a click
                 return RaiseMouseClickEvent (mouseEvent);
             }
 

+ 13 - 7
UnitTests/View/Mouse/MouseTests.cs

@@ -310,9 +310,15 @@ public class MouseTests (ITestOutputHelper output) : TestsAllViews
 
         view.MouseClick += (s, e) => clickedCount++;
 
+        me.Flags = pressed;
+        view.NewMouseEvent (me);
+        Assert.Equal (0, clickedCount);
+        me.Handled = false;
+
         me.Flags = pressed;
         view.NewMouseEvent (me);
         Assert.Equal (1, clickedCount);
+        me.Handled = false;
 
         me.Flags = released;
         view.NewMouseEvent (me);
@@ -344,22 +350,22 @@ public class MouseTests (ITestOutputHelper output) : TestsAllViews
 
         me.Flags = pressed;
         view.NewMouseEvent (me);
-        Assert.Equal (1, clickedCount);
+        Assert.Equal (0, clickedCount);
         me.Handled = false;
 
         me.Flags = pressed;
         view.NewMouseEvent (me);
-        Assert.Equal (2, clickedCount);
+        Assert.Equal (1, clickedCount);
         me.Handled = false;
 
         me.Flags = released;
         view.NewMouseEvent (me);
-        Assert.Equal (2, clickedCount);
+        Assert.Equal (1, clickedCount);
         me.Handled = false;
 
         me.Flags = clicked;
         view.NewMouseEvent (me);
-        Assert.Equal (2, clickedCount);
+        Assert.Equal (1, clickedCount);
 
         view.Dispose ();
         Application.ResetState (ignoreDisposed: true);
@@ -386,21 +392,21 @@ public class MouseTests (ITestOutputHelper output) : TestsAllViews
         me.Flags = MouseFlags.Button1Pressed;
         me.Position = me.Position with { X = 0 };
         view.NewMouseEvent (me);
-        Assert.Equal (1, clickedCount);
+        Assert.Equal (0, clickedCount);
         me.Handled = false;
 
         // Move out of Viewport
         me.Flags = MouseFlags.Button1Pressed;
         me.Position = me.Position with { X = 1 };
         view.NewMouseEvent (me);
-        Assert.Equal (2, clickedCount);
+        Assert.Equal (1, clickedCount);
         me.Handled = false;
 
         // Move into Viewport
         me.Flags = MouseFlags.Button1Pressed;
         me.Position = me.Position with { X = 0 };
         view.NewMouseEvent (me);
-        Assert.Equal (3, clickedCount);
+        Assert.Equal (2, clickedCount);
         me.Handled = false;
 
         view.Dispose ();