dispose discs in dosbox

see #4301
This commit is contained in:
Morilli 2025-05-05 20:31:06 +02:00
parent 8a70238e75
commit c8e82ba1e5
1 changed files with 17 additions and 0 deletions

View File

@ -45,6 +45,7 @@ namespace BizHawk.Emulation.Cores.Computers.DOS
private int _floppyDiskCount = 0;
private int _currentFloppyDisk = 0;
private int _currentCDROM = 0;
private bool _disposed;
private string GetFullName(IRomAsset rom) => Path.GetFileName(rom.RomPath.SubstringAfter('|'));
@ -606,5 +607,21 @@ namespace BizHawk.Emulation.Cores.Computers.DOS
_libDOSBox.GetHDDData(hddArray);
return hddArray;
}
public override void Dispose()
{
if (_disposed) return;
_disposed = true;
if (_discAssets is not null)
{
foreach (var discAsset in _discAssets)
{
discAsset.DiscData.Dispose();
}
}
base.Dispose();
}
}
}