Merge pull request #2625 from Haselnussbomber/fix-filename-tostring-crash
Some checks failed
Tag Build / Tag Build (push) Successful in 5s
Build Dalamud / Build on Windows (push) Has been cancelled
Build Dalamud / Check API Compatibility (push) Has been cancelled
Build Dalamud / Deploy dalamud-distrib staging (push) Has been cancelled

Fix crash on getting the FileName of ImageNodes
This commit is contained in:
goat 2026-02-17 22:59:53 +01:00 committed by GitHub
commit bef50438f5
No known key found for this signature in database
GPG key ID: B5690EEEBB952194

View file

@ -297,17 +297,11 @@ internal unsafe partial class ImageNodeTree : ResNodeTree
} }
this.TexType = asset->AtkTexture.TextureType; this.TexType = asset->AtkTexture.TextureType;
this.Texture = asset->AtkTexture.IsTextureReady() ? asset->AtkTexture.GetKernelTexture() : null;
if (this.TexType == Resource) if (this.TexType == Resource && asset->AtkTexture.Resource != null && asset->AtkTexture.Resource->TexFileResourceHandle != null)
{ {
var resource = asset->AtkTexture.Resource; this.Path = asset->AtkTexture.Resource->TexFileResourceHandle->ResourceHandle.FileName.ToString();
this.Texture = resource->KernelTextureObject;
this.Path = Marshal.PtrToStringAnsi(new(resource->TexFileResourceHandle->ResourceHandle.FileName.BufferPtr));
}
else
{
this.Texture = this.TexType == KernelTexture ? asset->AtkTexture.KernelTexture : null;
this.Path = null;
} }
this.HiRes = this.Path?.Contains("_hr1") ?? false; this.HiRes = this.Path?.Contains("_hr1") ?? false;