make sure to dispose Image from Image.FromFile
these hold a lock until they get disposed (which without explicit disposing is just waiting on the finalizer to do it)
This commit is contained in:
parent
073ce5fa4d
commit
a2ddc1b4cd
src/BizHawk.Client.Common/Api/Classes
|
@ -273,7 +273,8 @@ namespace BizHawk.Client.Common
|
|||
|
||||
if (!_imageCache.TryGetValue(path, out var img))
|
||||
{
|
||||
img = new(Image.FromFile(path));
|
||||
using var file = Image.FromFile(path);
|
||||
img = new(file);
|
||||
if (cache) _imageCache[path] = img;
|
||||
}
|
||||
|
||||
|
@ -322,7 +323,11 @@ namespace BizHawk.Client.Common
|
|||
var r = Get2DRenderer(surfaceID);
|
||||
r.CompositingMode = _compositingMode;
|
||||
r.DrawImage(
|
||||
_imageCache.GetValueOrPut(path, static i => new(Image.FromFile(i))),
|
||||
_imageCache.GetValueOrPut(path, static i =>
|
||||
{
|
||||
using var file = Image.FromFile(i);
|
||||
return new(file);
|
||||
}),
|
||||
new Rectangle(dest_x, dest_y, dest_width ?? source_width, dest_height ?? source_height),
|
||||
source_x,
|
||||
source_y,
|
||||
|
|
Loading…
Reference in New Issue