From 8e27080fad2264011f4b10ee3507662782180d27 Mon Sep 17 00:00:00 2001 From: Penal Buffalo Date: Mon, 29 Dec 2025 12:55:24 -0600 Subject: [PATCH 1/2] Update KeyboardToolTipStateMachine.cs --- .../Windows/Forms/ToolTip/KeyboardToolTipStateMachine.cs | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/src/System.Windows.Forms/System/Windows/Forms/ToolTip/KeyboardToolTipStateMachine.cs b/src/System.Windows.Forms/System/Windows/Forms/ToolTip/KeyboardToolTipStateMachine.cs index a56a0e412ba..0be10d2e977 100644 --- a/src/System.Windows.Forms/System/Windows/Forms/ToolTip/KeyboardToolTipStateMachine.cs +++ b/src/System.Windows.Forms/System/Windows/Forms/ToolTip/KeyboardToolTipStateMachine.cs @@ -247,12 +247,17 @@ void wrapper(object? sender, EventArgs eventArgs) return wrapper; } - private void Transit(SmEvent @event, IKeyboardToolTip source) + private void Transit(SmEvent @event, IKeyboardToolTip? source) { bool fullFsmResetRequired = false; try { - ToolTip? toolTip = _toolToTip[source]; + ToolTip? toolTip = null; + if (source != null) + { + toolTip = _toolToTip[source]; + } + if ((_currentTool is null || _currentTool.CanShowToolTipsNow()) && toolTip is not null) { _currentState = Transition(source, toolTip, @event); From 14a983332601688b3cf3b914110b13dad002b9eb Mon Sep 17 00:00:00 2001 From: Penal Buffalo Date: Mon, 29 Dec 2025 15:20:06 -0600 Subject: [PATCH 2/2] Update KeyboardToolTipStateMachine.cs --- .../Windows/Forms/ToolTip/KeyboardToolTipStateMachine.cs | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/System.Windows.Forms/System/Windows/Forms/ToolTip/KeyboardToolTipStateMachine.cs b/src/System.Windows.Forms/System/Windows/Forms/ToolTip/KeyboardToolTipStateMachine.cs index 0be10d2e977..864f9c927ac 100644 --- a/src/System.Windows.Forms/System/Windows/Forms/ToolTip/KeyboardToolTipStateMachine.cs +++ b/src/System.Windows.Forms/System/Windows/Forms/ToolTip/KeyboardToolTipStateMachine.cs @@ -253,14 +253,14 @@ private void Transit(SmEvent @event, IKeyboardToolTip? source) try { ToolTip? toolTip = null; - if (source != null) + if (source is object) { toolTip = _toolToTip[source]; } if ((_currentTool is null || _currentTool.CanShowToolTipsNow()) && toolTip is not null) { - _currentState = Transition(source, toolTip, @event); + _currentState = Transition(source!, toolTip, @event); } else {