read __rd_format as default format if none other are available

This commit is contained in:
Remi Palandri
2026-01-13 12:46:13 +01:00
committed by baldurk
parent 8f9705333a
commit ec24a6ca4b
+12 -1
View File
@@ -649,7 +649,18 @@ void ResourceInspector::on_viewContents_clicked()
}
else if(buf)
{
IBufferViewer *viewer = m_Ctx.ViewBuffer(0, buf->length, buf->resourceId);
rdcstr format;
// Check for __rd_format annotation on this buffer
const ResourceDescription *resourceDesc = m_Ctx.GetResource(buf->resourceId);
if(resourceDesc && resourceDesc->annotations)
{
const SDObject *formatChild = resourceDesc->annotations->FindChildByKeyPath("__rd_format");
if(formatChild && formatChild->type.basetype == SDBasic::String)
format = formatChild->data.str;
}
IBufferViewer *viewer = m_Ctx.ViewBuffer(0, buf->length, buf->resourceId, format);
m_Ctx.AddDockWindow(viewer->Widget(), DockReference::AddTo, this);
}