Screenshot dialog fixes

This commit is contained in:
Natsumi
2024-11-30 21:57:06 +13:00
parent a79154a594
commit c4efb515e3
3 changed files with 18 additions and 10 deletions

View File

@@ -174,15 +174,23 @@ namespace VRCX
if (!metadataString.StartsWith("{"))
{
// parse VRC prints
var xmlIndex = metadataString.IndexOf("<x:xmpmeta");
var xmlIndex = metadataString.IndexOf("<x:xmpmeta", StringComparison.Ordinal);
if (xmlIndex != -1)
{
var xmlString = metadataString.Substring(xmlIndex);
// everything after index
var result = ParseVRCPrint(xmlString.Substring(xmlIndex - 7));
result.SourceFile = path;
try
{
var xmlString = metadataString.Substring(xmlIndex);
// everything after index
var result = ParseVRCPrint(xmlString.Substring(xmlIndex - 7));
result.SourceFile = path;
return result;
return result;
}
catch (Exception ex)
{
logger.Error(ex, "Failed to parse VRCPrint XML metadata for file '{0}'", path);
return ScreenshotMetadata.JustError(path, "Failed to parse VRCPrint metadata.");
}
}
logger.ConditionalDebug("Screenshot file '{0}' has unknown non-JSON metadata:\n{1}\n", path, metadataString);