From 5c288b402244a81e07793dc29a7fb81f423d1234 Mon Sep 17 00:00:00 2001 From: Tig Date: Tue, 27 Aug 2024 20:57:25 -0700 Subject: [PATCH] Fixed ContextMenu crash --- .../Application/Application.Keyboard.cs | 17 +++++------------ Terminal.Gui/Views/Menu/ContextMenu.cs | 4 ++++ 2 files changed, 9 insertions(+), 12 deletions(-) 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 ();