Browse Source

Fix #3332: Re-apply filter to all descendants.

pull/3340/head
Siegfried Pammer 6 months ago
parent
commit
17302345ec
  1. 15
      ILSpy/TreeNodes/ILSpyTreeNode.cs

15
ILSpy/TreeNodes/ILSpyTreeNode.cs

@ -29,8 +29,8 @@ using ICSharpCode.Decompiler.TypeSystem; @@ -29,8 +29,8 @@ using ICSharpCode.Decompiler.TypeSystem;
using ICSharpCode.ILSpy.AssemblyTree;
using ICSharpCode.ILSpy.Docking;
using ICSharpCode.ILSpyX.Abstractions;
using ICSharpCode.ILSpyX.TreeView.PlatformAbstractions;
using ICSharpCode.ILSpyX.TreeView;
using ICSharpCode.ILSpyX.TreeView.PlatformAbstractions;
namespace ICSharpCode.ILSpy.TreeNodes
{
@ -130,9 +130,6 @@ namespace ICSharpCode.ILSpy.TreeNodes @@ -130,9 +130,6 @@ namespace ICSharpCode.ILSpy.TreeNodes
child.IsHidden = false;
break;
case FilterResult.Recurse:
child.EnsureChildrenFiltered();
child.IsHidden = child.Children.All(c => c.IsHidden);
break;
case FilterResult.MatchAndRecurse:
child.EnsureChildrenFiltered();
child.IsHidden = child.Children.All(c => c.IsHidden);
@ -161,16 +158,12 @@ namespace ICSharpCode.ILSpy.TreeNodes @@ -161,16 +158,12 @@ namespace ICSharpCode.ILSpy.TreeNodes
}
}
internal void EnsureChildrenFiltered()
{
EnsureLazyChildren();
if (childrenNeedFiltering)
{
childrenNeedFiltering = false;
foreach (ILSpyTreeNode node in this.Children.OfType<ILSpyTreeNode>())
ApplyFilterToChild(node);
}
childrenNeedFiltering = false;
foreach (ILSpyTreeNode node in this.Children.OfType<ILSpyTreeNode>())
ApplyFilterToChild(node);
}
protected string GetSuffixString(IMember member) => GetSuffixString(member.MetadataToken);

Loading…
Cancel
Save