From 222142bc554ad3fc44c6fb0ff262dc6f8cfe364f Mon Sep 17 00:00:00 2001 From: marcmy <21000174+marcmy@users.noreply.github.com> Date: Tue, 18 Aug 2026 08:02:18 -0400 Subject: [PATCH] Fix compressor skip-list filtering --- CompactGUI.Core/Compactor.cs | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/CompactGUI.Core/Compactor.cs b/CompactGUI.Core/Compactor.cs index 6ad36d1..ddc44c3 100644 --- a/CompactGUI.Core/Compactor.cs +++ b/CompactGUI.Core/Compactor.cs @@ -16,7 +16,7 @@ public sealed class Compactor : ICompressor, IDisposable private const int HResultCompressionNotBeneficial = unchecked((int)0x80070158); private readonly string workingDirectory; - private readonly HashSet excludedFileExtensions; + private readonly HashSet excludedFilesAndExtensions; private readonly HashSet resumeExcludedFiles; private readonly WOFCompressionAlgorithm wofCompressionAlgorithm; private readonly CompressionProgressBaseline progressBaseline; @@ -68,7 +68,7 @@ public Compactor( CompressionProgressBaseline? progressBaseline = null) { workingDirectory = folderPath; - excludedFileExtensions = new HashSet(excludedFileTypes); + excludedFilesAndExtensions = new HashSet(excludedFileTypes, StringComparer.OrdinalIgnoreCase); this.resumeExcludedFiles = resumeExcludedFiles is null ? new HashSet(StringComparer.OrdinalIgnoreCase) : new HashSet(resumeExcludedFiles, StringComparer.OrdinalIgnoreCase); @@ -315,7 +315,8 @@ public async Task> BuildWorkingFilesList(IReadOnlyColle && !resumeExcludedFiles.Contains(fl.FileName) && !notBeneficialCache.ShouldSkip(fl.FileName, wofCompressionAlgorithm) && fl.UncompressedSize > clusterSize - && ((fl.FileInfo != null && !excludedFileExtensions.Contains(fl.FileInfo.Extension)) || excludedFileExtensions.Contains(fl.FileName)) + && (fl.FileInfo == null || !excludedFilesAndExtensions.Contains(fl.FileInfo.Extension)) + && !excludedFilesAndExtensions.Contains(fl.FileName) ) .Select(fl => new FileDetails(fl.FileName, fl.UncompressedSize, fl.CompressionMode)) .ToList();