From 670087f732d24375d9b41882efcb422d814969d9 Mon Sep 17 00:00:00 2001 From: Andreas Weizel Date: Mon, 23 Sep 2013 01:15:15 +0200 Subject: [PATCH] Fix for crash in SharpTreeView.flattener_CollectionChanged() when no items can be selected. --- .../SharpTreeView/ICSharpCode.TreeView/SharpTreeView.cs | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/src/Libraries/SharpTreeView/ICSharpCode.TreeView/SharpTreeView.cs b/src/Libraries/SharpTreeView/ICSharpCode.TreeView/SharpTreeView.cs index 861b782ba5..66245b6bb2 100644 --- a/src/Libraries/SharpTreeView/ICSharpCode.TreeView/SharpTreeView.cs +++ b/src/Libraries/SharpTreeView/ICSharpCode.TreeView/SharpTreeView.cs @@ -152,10 +152,11 @@ namespace ICSharpCode.TreeView var list = SelectedItems.Cast().Except(selectedOldItems).ToList(); SetSelectedItems(list); if (SelectedItem == null && this.IsKeyboardFocusWithin) { - // if we removed all selected nodes, then move the focus to the node + // if we removed all selected nodes, then move the focus to the node // preceding the first of the old selected nodes SelectedIndex = Math.Max(0, e.OldStartingIndex - 1); - FocusNode((SharpTreeNode)SelectedItem); + if (SelectedIndex >= 0) + FocusNode((SharpTreeNode)SelectedItem); } } }