diff --git a/Aaru.Core/Devices/Dumping/CompactDisc/Error.cs b/Aaru.Core/Devices/Dumping/CompactDisc/Error.cs index b5351ea21..b66651ee2 100644 --- a/Aaru.Core/Devices/Dumping/CompactDisc/Error.cs +++ b/Aaru.Core/Devices/Dumping/CompactDisc/Error.cs @@ -506,8 +506,9 @@ partial class Dump // MEDIUM ERROR, retry with ignore error below if(decSense is { ASC: 0x11 }) - if(!sectorsNotEvenPartial.Contains(badSector)) - sectorsNotEvenPartial.Add(badSector); + { + if(!sectorsNotEvenPartial.Contains(badSector)) sectorsNotEvenPartial.Add(badSector); + } } // Because one block has been partially used to fix the offset @@ -553,6 +554,13 @@ partial class Dump Array.Copy(sector, 0, cmdBuf, 0, sectorSize); } + else + { + _resume.BadBlocks.Remove(badSector); + extents.Add(badSector); + _mediaGraph?.PaintSectorGood(badSector); + sectorsNotEvenPartial.Remove(badSector); + } } else if(!audioExtents.Contains(badSector) && _paranoia) { diff --git a/Aaru.Core/Devices/Dumping/CompactDisc/Trim.cs b/Aaru.Core/Devices/Dumping/CompactDisc/Trim.cs index ec3824c71..424f8076d 100644 --- a/Aaru.Core/Devices/Dumping/CompactDisc/Trim.cs +++ b/Aaru.Core/Devices/Dumping/CompactDisc/Trim.cs @@ -444,6 +444,12 @@ partial class Dump Array.Copy(sector, 0, cmdBuf, 0, sectorSize); } + else + { + _resume.BadBlocks.Remove(badSector); + extents.Add(badSector); + _mediaGraph?.PaintSectorGood(badSector); + } } else if(!audioExtents.Contains(badSector) && _paranoia) {