From 05b9fac62aa8b21ba89aef8e59b274773c5baa8a Mon Sep 17 00:00:00 2001 From: leo Date: Mon, 7 Jul 2025 17:59:48 +0800 Subject: [PATCH] ux: avoid revision file tree view flickering when selecting another commit Signed-off-by: leo --- src/Views/RevisionFileTreeView.axaml.cs | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/src/Views/RevisionFileTreeView.axaml.cs b/src/Views/RevisionFileTreeView.axaml.cs index a7ca36e0..98812950 100644 --- a/src/Views/RevisionFileTreeView.axaml.cs +++ b/src/Views/RevisionFileTreeView.axaml.cs @@ -247,12 +247,12 @@ namespace SourceGit.Views if (change.Property == RevisionProperty) { _tree.Clear(); - Rows.Clear(); _searchResult.Clear(); var vm = DataContext as ViewModels.CommitDetail; if (vm?.Commit == null) { + Rows.Clear(); GC.Collect(); return; } @@ -260,6 +260,7 @@ namespace SourceGit.Views var objects = await vm.GetRevisionFilesUnderFolderAsync(null); if (objects == null || objects.Count == 0) { + Rows.Clear(); GC.Collect(); return; } @@ -271,6 +272,8 @@ namespace SourceGit.Views var topTree = new List(); MakeRows(topTree, _tree, 0); + + Rows.Clear(); Rows.AddRange(topTree); GC.Collect(); }