From b5f43fd48bbafc9671c60a19d2d0d05fa299be64 Mon Sep 17 00:00:00 2001 From: Salvador Cipolla Date: Fri, 10 Apr 2026 20:12:57 -0300 Subject: [PATCH] Do not delete installed builds on modify cancel (C3 fix) --- Knossos.NET/ViewModels/Templates/Tasks/InstallBuild.cs | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/Knossos.NET/ViewModels/Templates/Tasks/InstallBuild.cs b/Knossos.NET/ViewModels/Templates/Tasks/InstallBuild.cs index 0462e205..0e4dc0de 100644 --- a/Knossos.NET/ViewModels/Templates/Tasks/InstallBuild.cs +++ b/Knossos.NET/ViewModels/Templates/Tasks/InstallBuild.cs @@ -17,6 +17,7 @@ public partial class TaskItemViewModel : ViewModelBase public async Task InstallBuild(FsoBuild build, FsoBuildItemViewModel sender, CancellationTokenSource? cancelSource = null, Mod? modJson = null, List? modifyPkgs = null, bool cleanupOldVersions = false) { string? modPath = null; + bool installed = false; try { if (!TaskIsSet) @@ -82,6 +83,7 @@ public partial class TaskItemViewModel : ViewModelBase if (modifyPkgs != null) { //Modify Build + installed = true; foreach (var pkg in modifyPkgs) { var installedPkg = modJson.packages.FirstOrDefault(p => p.name == pkg.name && p.folder == pkg.folder); @@ -583,7 +585,7 @@ Task cancel requested by user Info = "Task Cancelled"; try { - if (modPath != null) + if (modPath != null && !installed) { Directory.Delete(modPath, true); } @@ -624,7 +626,7 @@ await Dispatcher.UIThread.InvokeAsync(async () => Info = "Task Failed"; try { - if (modPath != null) + if (modPath != null && !installed) { Directory.Delete(modPath, true); }