From a592169bb358b0d5afaf849ca74b8aec719f30ba Mon Sep 17 00:00:00 2001 From: Siegfried Pammer Date: Wed, 29 Jan 2025 19:42:16 +0100 Subject: [PATCH] Fix #3381: Make sure that selectedNode is still selected when focus is deferred in IsActive property changed handler. --- ILSpy/AssemblyTree/AssemblyListPane.xaml.cs | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/ILSpy/AssemblyTree/AssemblyListPane.xaml.cs b/ILSpy/AssemblyTree/AssemblyListPane.xaml.cs index 2e9844d23b..3a7fd1664a 100644 --- a/ILSpy/AssemblyTree/AssemblyListPane.xaml.cs +++ b/ILSpy/AssemblyTree/AssemblyListPane.xaml.cs @@ -71,7 +71,10 @@ protected override void OnPropertyChanged(DependencyPropertyChangedEventArgs e) if (SelectedItem is SharpTreeNode selectedItem) { // defer focusing, so it does not interfere with selection via mouse click - this.BeginInvoke(() => FocusNode(selectedItem)); + this.BeginInvoke(() => { + if (this.SelectedItem == selectedItem) + FocusNode(selectedItem); + }); } else {