Browse Source

Merge pull request #3294 from tom-englert/dev/WpfRefactoring

Fix possible ObservableCollection re-entrance crash when trying to na…
pull/3287/merge
Siegfried Pammer 9 months ago committed by GitHub
parent
commit
64cbcd4002
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
  1. 13
      ILSpy/AssemblyTree/AssemblyTreeModel.cs

13
ILSpy/AssemblyTree/AssemblyTreeModel.cs

@ -530,14 +530,22 @@ namespace ICSharpCode.ILSpy.AssemblyTree @@ -530,14 +530,22 @@ namespace ICSharpCode.ILSpy.AssemblyTree
if (this.isNavigatingHistory)
{
SelectedItems.Clear();
SelectedItems.AddRange(nodesList);
foreach (var node in nodesList)
{
activeView.ScrollIntoView(node);
SelectedItems.Add(node);
}
}
else
{
// defer selection change, so it does not interfere with the focus of the tab page.
Dispatcher.BeginInvoke(() => {
SelectedItems.Clear();
SelectedItems.AddRange(nodesList);
foreach (var node in nodesList)
{
activeView.ScrollIntoView(node);
SelectedItems.Add(node);
}
});
}
}
@ -691,6 +699,7 @@ namespace ICSharpCode.ILSpy.AssemblyTree @@ -691,6 +699,7 @@ namespace ICSharpCode.ILSpy.AssemblyTree
if (node != null && focusNode)
{
lastNode = node;
activeView?.ScrollIntoView(node);
SelectedItems.Add(node);
}
}

Loading…
Cancel
Save