Browse Source

Fixes #2571. Wizards background shifts to gray when focusing, looks bad. (#3194)

* Fixes #2571. Wizards background shifts to gray when focusing, looks bad.

* Update nuget packages.

* Trying to fix the CodeQL failing.
BDisp 1 year ago
parent
commit
1d44f2e046
3 changed files with 25 additions and 4 deletions
  1. 5 2
      Terminal.Gui/Core/View.cs
  2. 2 2
      UnitTests/UnitTests.csproj
  3. 18 0
      UnitTests/Views/ViewTests.cs

+ 5 - 2
Terminal.Gui/Core/View.cs

@@ -1500,8 +1500,11 @@ namespace Terminal.Gui {
 				(GetType ().IsNestedPublic && !IsOverridden (this, "Redraw") || GetType ().Name == "View") &&
 				(!NeedDisplay.IsEmpty || ChildNeedsDisplay || LayoutNeeded)) {
 
-				Clear ();
-				SetChildNeedsDisplay ();
+				if (ColorScheme != null) {
+					Driver.SetAttribute (GetNormalColor ());
+					Clear ();
+					SetChildNeedsDisplay ();
+				}
 			}
 
 			if (!ustring.IsNullOrEmpty (TextFormatter.Text)) {

+ 2 - 2
UnitTests/UnitTests.csproj

@@ -21,8 +21,8 @@
     <PackageReference Include="Microsoft.NET.Test.Sdk" Version="17.8.0" />
     <PackageReference Include="ReportGenerator" Version="5.2.0" />
     <PackageReference Include="System.Collections" Version="4.3.0" />
-    <PackageReference Include="xunit" Version="2.6.5" />
-    <PackageReference Include="xunit.runner.visualstudio" Version="2.5.5">
+    <PackageReference Include="xunit" Version="2.6.6" />
+    <PackageReference Include="xunit.runner.visualstudio" Version="2.5.6">
       <PrivateAssets>all</PrivateAssets>
       <IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
     </PackageReference>

+ 18 - 0
UnitTests/Views/ViewTests.cs

@@ -4563,5 +4563,23 @@ Label", output);
 			TestHelpers.AssertDriverContentsAre (@"
 Label", output);
 		}
+
+		[Fact, AutoInitShutdown]
+		public void View_Instance_Use_Attribute_Normal_On_Draw ()
+		{
+			var view = new View { Id = "view", X = 1, Y = 1, Width = 4, Height = 1, Text = "Test", CanFocus = true };
+			var root = new View { Id = "root", Width = Dim.Fill (), Height = Dim.Fill () };
+			root.Add (view);
+			Application.Top.Add (root);
+			Application.Begin (Application.Top);
+
+			TestHelpers.AssertDriverContentsAre (@"
+Test", output);
+
+			TestHelpers.AssertDriverColorsAre (@"
+000000
+011110
+000000", new Attribute [] { Colors.TopLevel.Normal, Colors.TopLevel.Focus });
+		}
 	}
 }