diff --git a/Terminal.Gui/Application/Application.Keyboard.cs b/Terminal.Gui/Application/Application.Keyboard.cs index 4b8888b7b..dc11d02c8 100644 --- a/Terminal.Gui/Application/Application.Keyboard.cs +++ b/Terminal.Gui/Application/Application.Keyboard.cs @@ -314,21 +314,14 @@ public static partial class Application // Keyboard handling static () => { // TODO: This OverlapppedTop tomfoolery goes away in addressing #2491 - if (ApplicationOverlapped.OverlappedTop is null) + if (ApplicationOverlapped.OverlappedTop is null && Current is { }) { - if (Current is { }) - { - return Current.AdvanceFocus (NavigationDirection.Backward, TabBehavior.TabGroup); - } - } - else - { - ApplicationOverlapped.OverlappedMovePrevious (); - - return true; + return Current.AdvanceFocus (NavigationDirection.Backward, TabBehavior.TabGroup); } - return false; + ApplicationOverlapped.OverlappedMovePrevious (); + + return true; } ); diff --git a/Terminal.Gui/Views/Menu/ContextMenu.cs b/Terminal.Gui/Views/Menu/ContextMenu.cs index 1158eec3a..6a6131195 100644 --- a/Terminal.Gui/Views/Menu/ContextMenu.cs +++ b/Terminal.Gui/Views/Menu/ContextMenu.cs @@ -105,6 +105,10 @@ public sealed class ContextMenu : IDisposable /// Disposes the context menu object. public void Dispose () { + if (_menuBar is null) + { + return; + } _menuBar.MenuAllClosed -= MenuBar_MenuAllClosed; Application.UngrabMouse (); _menuBar?.Dispose ();