From 49bf6ad932747f6990859802c3b2cc42b771bd81 Mon Sep 17 00:00:00 2001 From: Natalia Portillo Date: Fri, 4 Sep 2020 02:14:23 +0100 Subject: [PATCH] Clear dictionaries after importing ROMs from DAT. --- RomRepoMgr.Core/Workers/DatImporter.cs | 24 ++++++++++++++++++------ 1 file changed, 18 insertions(+), 6 deletions(-) diff --git a/RomRepoMgr.Core/Workers/DatImporter.cs b/RomRepoMgr.Core/Workers/DatImporter.cs index e7e74ab..63c1165 100644 --- a/RomRepoMgr.Core/Workers/DatImporter.cs +++ b/RomRepoMgr.Core/Workers/DatImporter.cs @@ -329,12 +329,14 @@ namespace RomRepoMgr.Core.Workers file = pendingFiles.FirstOrDefault(f => f.Crc32 == rom.CRC && f.Size == uSize); } - file ??= Context.Singleton.Files.FirstOrDefault(f => ((rom.SHA512 != null && f.Sha512 == rom.SHA512) || - (rom.SHA384 != null && f.Sha384 == rom.SHA384) || - (rom.SHA256 != null && f.Sha256 == rom.SHA256) || - (rom.SHA1 != null && f.Sha1 == rom.SHA1) || - (rom.MD5 != null && f.Md5 == rom.MD5) || - (rom.CRC != null && f.Crc32 == rom.CRC)) && f.Size == uSize); + file ??= + Context.Singleton.Files.FirstOrDefault(f => ((rom.SHA512 != null && f.Sha512 == rom.SHA512) || + (rom.SHA384 != null && f.Sha384 == rom.SHA384) || + (rom.SHA256 != null && f.Sha256 == rom.SHA256) || + (rom.SHA1 != null && f.Sha1 == rom.SHA1) || + (rom.MD5 != null && f.Md5 == rom.MD5) || + (rom.CRC != null && f.Crc32 == rom.CRC)) && + f.Size == uSize); if(file == null) { @@ -435,6 +437,16 @@ namespace RomRepoMgr.Core.Workers Context.Singleton.SaveChanges(); + pendingFilesBySha512.Clear(); + pendingFilesBySha384.Clear(); + pendingFilesBySha256.Clear(); + pendingFilesBySha1.Clear(); + pendingFilesByMd5.Clear(); + pendingFilesByCrc.Clear(); + pendingFiles.Clear(); + newFiles.Clear(); + newFilesByMachine.Clear(); + SetProgressBounds?.Invoke(this, new ProgressBoundsEventArgs { Minimum = 0,