d3dxof: Allow templates to be defined anywhere in objects file.

This commit is contained in:
Christian Costa 2010-03-01 09:36:19 +01:00 committed by Alexandre Julliard
parent cf663d17e7
commit 074465b675
1 changed files with 17 additions and 0 deletions

View File

@ -1034,6 +1034,23 @@ static HRESULT WINAPI IDirectXFileEnumObjectImpl_GetNextDataObject(IDirectXFileE
return DXFILEERR_NOMOREOBJECTS;
}
/* Check if there are templates defined before the object */
while (This->buf.rem_bytes && is_template_available(&This->buf))
{
if (!parse_template(&This->buf))
{
TRACE("Template is not correct\n");
hr = DXFILEERR_BADVALUE;
goto error;
}
else
{
TRACE("Template successfully parsed:\n");
if (TRACE_ON(d3dxof))
dump_template(This->pDirectXFile->xtemplates, &This->pDirectXFile->xtemplates[This->pDirectXFile->nb_xtemplates - 1]);
}
}
if (!This->buf.rem_bytes)
return DXFILEERR_NOMOREOBJECTS;