diff --git a/SabreTools.Helper/Objects/DATFromDirParallel.cs b/SabreTools.Helper/Objects/DATFromDirParallel.cs index 151b20de..7e93ea78 100644 --- a/SabreTools.Helper/Objects/DATFromDirParallel.cs +++ b/SabreTools.Helper/Objects/DATFromDirParallel.cs @@ -209,13 +209,18 @@ namespace SabreTools { // Add the list if it doesn't exist already string key = rom.HashData.Size + "-" + rom.HashData.CRC; - if (!_datdata.Files.ContainsKey(key)) + + lock (_datdata.Files) { - _datdata.Files.Add(key, new List()); - } + if (!_datdata.Files.ContainsKey(key)) + { + _datdata.Files.Add(key, new List()); + } - _datdata.Files[key].Add(rom); - _logger.User("File added: " + Path.GetFileNameWithoutExtension(item) + Environment.NewLine); + _datdata.Files[key].Add(rom); + _logger.User("File added: " + Path.GetFileNameWithoutExtension(item) + Environment.NewLine); + } + } else { @@ -308,9 +313,12 @@ namespace SabreTools { // Add the list if it doesn't exist already string key = rom.HashData.Size + "-" + rom.HashData.CRC; - if (!_datdata.Files.ContainsKey(key)) + lock (_datdata.Files) { - _datdata.Files.Add(key, new List()); + if (!_datdata.Files.ContainsKey(key)) + { + _datdata.Files.Add(key, new List()); + } } try @@ -391,7 +399,10 @@ namespace SabreTools rom.Name = romname; // Add the file information to the DAT - _datdata.Files[key].Add(rom); + lock (_datdata.Files) + { + _datdata.Files[key].Add(rom); + } _logger.User("File added: " + romname + Environment.NewLine); }