From cd2faf5fbdfcd2ed2de909f3e2865338d74e6470 Mon Sep 17 00:00:00 2001 From: BDisp Date: Mon, 27 Jul 2020 23:46:23 +0100 Subject: [PATCH] Fixed a focused issue. --- Terminal.Gui/Core/View.cs | 6 +++--- Terminal.Gui/Views/Menu.cs | 2 ++ 2 files changed, 5 insertions(+), 3 deletions(-) diff --git a/Terminal.Gui/Core/View.cs b/Terminal.Gui/Core/View.cs index 6a9592657..f21334fe2 100644 --- a/Terminal.Gui/Core/View.cs +++ b/Terminal.Gui/Core/View.cs @@ -748,6 +748,9 @@ namespace Terminal.Gui { view.SetNeedsDisplay (); } OnRemoved (view); + if (focused == view) { + focused = null; + } } void PerformActionForSubview (View subview, Action action) @@ -1882,9 +1885,6 @@ namespace Terminal.Gui { Remove (subview); subview.Dispose (); } - if (Application.Top.focused == this) { - Application.Top.focused = null; - } base.Dispose (disposing); } diff --git a/Terminal.Gui/Views/Menu.cs b/Terminal.Gui/Views/Menu.cs index 1c0484ab7..4f623fdcb 100644 --- a/Terminal.Gui/Views/Menu.cs +++ b/Terminal.Gui/Views/Menu.cs @@ -1019,11 +1019,13 @@ namespace Terminal.Gui { LastFocused = lastFocused; lastFocused = null; if (LastFocused != null) { + CanFocus = false; if (!reopen) { selected = -1; } LastFocused.SuperView?.SetFocus (LastFocused); } else { + CanFocus = true; SuperView.SetFocus (this); PositionCursor (); }