Browse Source

Merge branch 'v2_develop' into v2_1785-PosJustify

Tig 1 year ago
parent
commit
dba622154f
2 changed files with 10 additions and 6 deletions
  1. 8 3
      Terminal.Gui/Application.cs
  2. 2 3
      UnitTests/Application/CursorTests.cs

+ 8 - 3
Terminal.Gui/Application.cs

@@ -574,10 +574,16 @@ public static partial class Application
 
 
         if (mostFocused is null)
         if (mostFocused is null)
         {
         {
-            return false;
+            if (view is { HasFocus: true })
+            {
+                mostFocused = view;
+            }
+            else
+            {
+                return false;
+            }
         }
         }
 
 
-
         // If the view is not visible or enabled, don't position the cursor
         // If the view is not visible or enabled, don't position the cursor
         if (!mostFocused.Visible || !mostFocused.Enabled)
         if (!mostFocused.Visible || !mostFocused.Enabled)
         {
         {
@@ -598,7 +604,6 @@ public static partial class Application
             return false;
             return false;
         }
         }
 
 
-        Point? prevCursor = new (Driver.Row, Driver.Col);
         Point? cursor = mostFocused.PositionCursor ();
         Point? cursor = mostFocused.PositionCursor ();
 
 
         Driver.GetCursorVisibility (out CursorVisibility currentCursorVisibility);
         Driver.GetCursorVisibility (out CursorVisibility currentCursorVisibility);

+ 2 - 3
UnitTests/Application/CursorTests.cs

@@ -111,7 +111,7 @@ public class CursorTests
         Assert.False (Application.PositionCursor (view));
         Assert.False (Application.PositionCursor (view));
     }
     }
 
 
-    [Fact, Trait("BUGBUG", "Views without subviews don't support Focused or MostFocused")]
+    [Fact]
     [SetupFakeDriver]
     [SetupFakeDriver]
     public void PositionCursor_Focused_With_Position_Returns_True ()
     public void PositionCursor_Focused_With_Position_Returns_True ()
     {
     {
@@ -124,7 +124,7 @@ public class CursorTests
         view.CanFocus = true;
         view.CanFocus = true;
         view.SetFocus ();
         view.SetFocus ();
         view.TestLocation = new Point (0, 0);
         view.TestLocation = new Point (0, 0);
-        Assert.False (Application.PositionCursor (view));  // BUGBUG: This should be true
+        Assert.True (Application.PositionCursor (view));
     }
     }
 
 
     [Fact]
     [Fact]
@@ -144,5 +144,4 @@ public class CursorTests
         Application.Driver.GetCursorVisibility (out CursorVisibility cursor);
         Application.Driver.GetCursorVisibility (out CursorVisibility cursor);
         Assert.Equal (CursorVisibility.Invisible, cursor);
         Assert.Equal (CursorVisibility.Invisible, cursor);
     }
     }
-
 }
 }