From 1e250482093340e90e043d518dc26c35b8517577 Mon Sep 17 00:00:00 2001 From: Flaky Date: Thu, 23 Apr 2026 16:30:36 +0100 Subject: [PATCH] remove if guards on tagswritten in HierarchyTreeViewModel.cs --- UI/ViewModels/HierarchyTreeViewModel.cs | 17 ++++++++++------- 1 file changed, 10 insertions(+), 7 deletions(-) diff --git a/UI/ViewModels/HierarchyTreeViewModel.cs b/UI/ViewModels/HierarchyTreeViewModel.cs index fc80d26..4f2c47c 100644 --- a/UI/ViewModels/HierarchyTreeViewModel.cs +++ b/UI/ViewModels/HierarchyTreeViewModel.cs @@ -258,17 +258,20 @@ public partial class HierarchyTreeViewModel : ViewModelBase, IDisposable try { if (sender is not TagDatabaseService { IsDatabaseOpen: true }) return; - - if (result.Updated.Count > 0) - foreach (var updatedTag in result.Updated) + + foreach (var updatedTag in result.Updated) await Dispatcher.UIThread.InvokeAsync(async () => await this.HandleTagUpdateAsync(updatedTag)); if (result.Added.Count > 0) await Dispatcher.UIThread.InvokeAsync(async () => await this.ProcessTagAdditionsAsync(result.Added)); - - if (result.Deleted.Count > 0) - foreach (var deletedTag in result.Deleted) - await Dispatcher.UIThread.InvokeAsync(() => this.WipeTagNodesAsync(deletedTag.id)); + + foreach (var deletedTag in result.Deleted) + { + await Dispatcher.UIThread.InvokeAsync(() => this.WipeTagNodesAsync(deletedTag.id)); + if (this.SelectedTag?.Id == deletedTag.id) + this.SelectedTag = null; + } + } catch (Exception e) { -- 2.51.2