From 27cb329105e54f7e43b7ef73785281ee3c34cd0f Mon Sep 17 00:00:00 2001 From: Siegfried Pammer Date: Sun, 26 Dec 2021 01:28:59 +0100 Subject: [PATCH] Fix `JumpToReference` for search results from unexpanded bundle/package tree nodes. --- ILSpy/TreeNodes/AssemblyListTreeNode.cs | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/ILSpy/TreeNodes/AssemblyListTreeNode.cs b/ILSpy/TreeNodes/AssemblyListTreeNode.cs index 67aa3b50d..2341e15bc 100644 --- a/ILSpy/TreeNodes/AssemblyListTreeNode.cs +++ b/ILSpy/TreeNodes/AssemblyListTreeNode.cs @@ -184,7 +184,8 @@ namespace ICSharpCode.ILSpy.TreeNodes var bundle = FindAssemblyNode(asm.ParentBundle); if (bundle == null) return null; - foreach (var node in TreeTraversal.PreOrder(bundle.Children, r => (r as PackageFolderTreeNode)?.Children).OfType()) + bundle.EnsureLazyChildren(); + foreach (var node in TreeTraversal.PreOrder(bundle.Children, ExpandAndGetChildren).OfType()) { if (node.LoadedAssembly == asm) return node; @@ -199,6 +200,14 @@ namespace ICSharpCode.ILSpy.TreeNodes } } return null; + + static SharpTreeNodeCollection ExpandAndGetChildren(SharpTreeNode node) + { + if (node is not PackageFolderTreeNode) + return null; + node.EnsureLazyChildren(); + return node.Children; + } } ///