From bbf122aeb19ce68098fcee03236cb31bb4e6bc19 Mon Sep 17 00:00:00 2001 From: BDisp Date: Wed, 30 Sep 2020 09:25:17 +0100 Subject: [PATCH] Fixes #929 Sometimes ListView throw a exception on the SelectedItem. --- Terminal.Gui/Views/ListView.cs | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/Terminal.Gui/Views/ListView.cs b/Terminal.Gui/Views/ListView.cs index b4bfe8ba7..914199dbc 100644 --- a/Terminal.Gui/Views/ListView.cs +++ b/Terminal.Gui/Views/ListView.cs @@ -206,10 +206,12 @@ namespace Terminal.Gui { public int SelectedItem { get => selected; set { - if (source == null || source.Count == 0) + if (source == null || source.Count == 0) { return; - if (selected < 0 || selected >= source.Count) + } + if (value < 0 || value >= source.Count) { throw new ArgumentException ("value"); + } selected = value; OnSelectedChanged (); } @@ -466,7 +468,7 @@ namespace Terminal.Gui { top++; OnSelectedChanged (); SetNeedsDisplay (); - } else if (lastSelectedItem == -1) { + } else if (selected == 0) { OnSelectedChanged (); SetNeedsDisplay (); } @@ -575,7 +577,7 @@ namespace Terminal.Gui { return true; } - return false; + return base.OnEnter (view); } ///