Fixed ContextMenu crash

This commit is contained in:
Tig
2024-08-27 20:57:25 -07:00
parent a469d39b57
commit 5c288b4022
2 changed files with 9 additions and 12 deletions

View File

@@ -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;
}
);

View File

@@ -105,6 +105,10 @@ public sealed class ContextMenu : IDisposable
/// <summary>Disposes the context menu object.</summary>
public void Dispose ()
{
if (_menuBar is null)
{
return;
}
_menuBar.MenuAllClosed -= MenuBar_MenuAllClosed;
Application.UngrabMouse ();
_menuBar?.Dispose ();