Skip to content

Commit 358f9a3

Browse files
authored
Enable nullability in ToolStripPanelRenderEventArgs (#6422)
1 parent 44c6fbf commit 358f9a3

File tree

4 files changed

+22
-16
lines changed

4 files changed

+22
-16
lines changed

src/System.Windows.Forms/src/PublicAPI.Shipped.txt

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -2927,9 +2927,9 @@ System.Windows.Forms.ToolStripItemTextRenderEventArgs.ToolStripItemTextRenderEve
29272927
~System.Windows.Forms.ToolStripPanel.ToolStripPanelRowCollection.Remove(System.Windows.Forms.ToolStripPanelRow value) -> void
29282928
~System.Windows.Forms.ToolStripPanel.ToolStripPanelRowCollection.ToolStripPanelRowCollection(System.Windows.Forms.ToolStripPanel owner) -> void
29292929
~System.Windows.Forms.ToolStripPanel.ToolStripPanelRowCollection.ToolStripPanelRowCollection(System.Windows.Forms.ToolStripPanel owner, System.Windows.Forms.ToolStripPanelRow[] value) -> void
2930-
~System.Windows.Forms.ToolStripPanelRenderEventArgs.Graphics.get -> System.Drawing.Graphics
2931-
~System.Windows.Forms.ToolStripPanelRenderEventArgs.ToolStripPanel.get -> System.Windows.Forms.ToolStripPanel
2932-
~System.Windows.Forms.ToolStripPanelRenderEventArgs.ToolStripPanelRenderEventArgs(System.Drawing.Graphics g, System.Windows.Forms.ToolStripPanel toolStripPanel) -> void
2930+
System.Windows.Forms.ToolStripPanelRenderEventArgs.Graphics.get -> System.Drawing.Graphics!
2931+
System.Windows.Forms.ToolStripPanelRenderEventArgs.ToolStripPanel.get -> System.Windows.Forms.ToolStripPanel!
2932+
System.Windows.Forms.ToolStripPanelRenderEventArgs.ToolStripPanelRenderEventArgs(System.Drawing.Graphics! g, System.Windows.Forms.ToolStripPanel! toolStripPanel) -> void
29332933
~System.Windows.Forms.ToolStripPanelRow.CanMove(System.Windows.Forms.ToolStrip toolStripToDrag) -> bool
29342934
~System.Windows.Forms.ToolStripPanelRow.Controls.get -> System.Windows.Forms.Control[]
29352935
~System.Windows.Forms.ToolStripPanelRow.LayoutEngine.get -> System.Windows.Forms.Layout.LayoutEngine

src/System.Windows.Forms/src/System/Windows/Forms/ToolStripPanelRenderEventArgs.cs

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -2,8 +2,6 @@
22
// The .NET Foundation licenses this file to you under the MIT license.
33
// See the LICENSE file in the project root for more information.
44

5-
#nullable disable
6-
75
using System.Drawing;
86

97
namespace System.Windows.Forms
@@ -15,8 +13,8 @@ public class ToolStripPanelRenderEventArgs : EventArgs
1513
/// </summary>
1614
public ToolStripPanelRenderEventArgs(Graphics g, ToolStripPanel toolStripPanel)
1715
{
18-
Graphics = g;
19-
ToolStripPanel = toolStripPanel;
16+
Graphics = g.OrThrowIfNull();
17+
ToolStripPanel = toolStripPanel.OrThrowIfNull();
2018
}
2119

2220
/// <summary>

src/System.Windows.Forms/tests/UnitTests/System/Windows/Forms/ToolStripPanelRenderEventArgsTests.cs

Lines changed: 17 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -9,22 +9,32 @@ namespace System.Windows.Forms.Tests
99
{
1010
public class ToolStripPanelRenderEventArgsTests : IClassFixture<ThreadExceptionFixture>
1111
{
12-
public static IEnumerable<object[]> Ctor_Graphics_ToolStripPanel_TestData()
12+
public static IEnumerable<object[]> Ctor_Null_Graphics_ToolStripPanel_TestData()
1313
{
1414
var image = new Bitmap(10, 10);
1515
Graphics graphics = Graphics.FromImage(image);
1616

1717
yield return new object[] { null, null };
18-
yield return new object[] { graphics, new ToolStripPanel() };
18+
yield return new object[] { graphics, null };
19+
yield return new object[] { null, new ToolStripPanel() };
1920
}
2021

2122
[WinFormsTheory]
22-
[MemberData(nameof(Ctor_Graphics_ToolStripPanel_TestData))]
23-
public void Ctor_Graphics_ToolStripPanel(Graphics g, ToolStripPanel panel)
23+
[MemberData(nameof(Ctor_Null_Graphics_ToolStripPanel_TestData))]
24+
public void ToolStripPanelRenderEventArgs_Null_Graphics_ToolStripPanel_ThrowsArgumentNullException(Graphics g, ToolStripPanel toolStripPanel)
2425
{
25-
var e = new ToolStripPanelRenderEventArgs(g, panel);
26-
Assert.Equal(g, e.Graphics);
27-
Assert.Equal(panel, e.ToolStripPanel);
26+
Assert.Throws<ArgumentNullException>(() => new ToolStripPanelRenderEventArgs(g, toolStripPanel));
27+
}
28+
29+
[WinFormsFact]
30+
public void Ctor_Graphics_ToolStripPanel()
31+
{
32+
using var image = new Bitmap(10, 10);
33+
using Graphics graphics = Graphics.FromImage(image);
34+
using var toolStripPanel = new ToolStripPanel();
35+
var e = new ToolStripPanelRenderEventArgs(graphics, toolStripPanel);
36+
Assert.Equal(graphics, e.Graphics);
37+
Assert.Equal(toolStripPanel, e.ToolStripPanel);
2838
Assert.False(e.Handled);
2939
}
3040

src/System.Windows.Forms/tests/UnitTests/System/Windows/Forms/ToolStripRendererTests.cs

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -601,11 +601,9 @@ public void ToolStripRenderer_DrawToolStripContentPanelBackground_Invoke_CallsRe
601601
public static IEnumerable<object[]> ToolStripPanelRenderEventArgs_TestData()
602602
{
603603
yield return new object[] { null };
604-
yield return new object[] { new ToolStripPanelRenderEventArgs(null, null) };
605604

606605
var image = new Bitmap(10, 10);
607606
Graphics graphics = Graphics.FromImage(image);
608-
yield return new object[] { new ToolStripPanelRenderEventArgs(graphics, null) };
609607
yield return new object[] { new ToolStripPanelRenderEventArgs(graphics, new ToolStripPanel()) };
610608
}
611609

0 commit comments

Comments
 (0)