Bladeren bron

Merge pull request #930 from BDisp/listview

Fixes #929 Sometimes ListView throw a exception on the SelectedItem.
Charlie Kindel 4 jaren geleden
bovenliggende
commit
734fafb7dc
1 gewijzigde bestanden met toevoegingen van 6 en 4 verwijderingen
  1. 6 4
      Terminal.Gui/Views/ListView.cs

+ 6 - 4
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);
 		}
 
 		///<inheritdoc/>