mirror of
https://github.com/wabbajack-tools/wabbajack.git
synced 2024-08-30 18:42:17 +00:00
Swallow exceptions from bad DDS files
This commit is contained in:
parent
5a501226c3
commit
3703f3f558
@ -34,7 +34,7 @@ namespace Wabbajack.ImageHashing
|
|||||||
PerceptualHash.Write(bw);
|
PerceptualHash.Write(bw);
|
||||||
}
|
}
|
||||||
|
|
||||||
public static async Task<ImageState> FromImageStream(Stream stream, Extension ext, bool takeStreamOwnership = true)
|
public static async Task<ImageState?> FromImageStream(Stream stream, Extension ext, bool takeStreamOwnership = true)
|
||||||
{
|
{
|
||||||
var ms = new MemoryStream();
|
var ms = new MemoryStream();
|
||||||
await stream.CopyToAsync(ms);
|
await stream.CopyToAsync(ms);
|
||||||
@ -57,6 +57,11 @@ namespace Wabbajack.ImageHashing
|
|||||||
return img.ImageState();
|
return img.ImageState();
|
||||||
|
|
||||||
}
|
}
|
||||||
|
catch (Exception ex)
|
||||||
|
{
|
||||||
|
Utils.Log($"Error getting ImageState: {ex}");
|
||||||
|
return null;
|
||||||
|
}
|
||||||
finally
|
finally
|
||||||
{
|
{
|
||||||
img?.Dispose();
|
img?.Dispose();
|
||||||
|
@ -85,6 +85,8 @@ namespace Wabbajack.ImageHashing
|
|||||||
}
|
}
|
||||||
|
|
||||||
public static async Task<PHash> FromStream(Stream stream, Extension ext, bool takeStreamOwnership = true)
|
public static async Task<PHash> FromStream(Stream stream, Extension ext, bool takeStreamOwnership = true)
|
||||||
|
{
|
||||||
|
try
|
||||||
{
|
{
|
||||||
var ms = new MemoryStream();
|
var ms = new MemoryStream();
|
||||||
await stream.CopyToAsync(ms);
|
await stream.CopyToAsync(ms);
|
||||||
@ -101,8 +103,15 @@ namespace Wabbajack.ImageHashing
|
|||||||
{
|
{
|
||||||
throw new NotImplementedException("Only DDS and TGA files supported by PHash");
|
throw new NotImplementedException("Only DDS and TGA files supported by PHash");
|
||||||
}
|
}
|
||||||
|
|
||||||
return img.PerceptionHash();
|
return img.PerceptionHash();
|
||||||
}
|
}
|
||||||
|
catch (Exception ex)
|
||||||
|
{
|
||||||
|
Utils.Log($"Error getting PHASH {ex}");
|
||||||
|
return default;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
public static async Task<PHash> FromFile(AbsolutePath path)
|
public static async Task<PHash> FromFile(AbsolutePath path)
|
||||||
{
|
{
|
||||||
|
@ -227,7 +227,7 @@ namespace Wabbajack.VirtualFileSystem
|
|||||||
};
|
};
|
||||||
|
|
||||||
if (Consts.TextureExtensions.Contains(relPath.FileName.Extension))
|
if (Consts.TextureExtensions.Contains(relPath.FileName.Extension))
|
||||||
self.ImageState = await ImageHashing.ImageState.FromImageStream(stream, relPath.FileName.Extension, false);
|
self.ImageState = await ImageState.FromImageStream(stream, relPath.FileName.Extension, false);
|
||||||
|
|
||||||
self.FillFullPath(depth);
|
self.FillFullPath(depth);
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user