From 06c8d49e3ec8ce419043ccc66edaa3f8720a6001 Mon Sep 17 00:00:00 2001 From: Christian Costa Date: Tue, 7 Oct 2008 22:54:09 +0200 Subject: [PATCH] d3dxof: Enable referencing of named subobjects too. --- dlls/d3dxof/d3dxof.c | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/dlls/d3dxof/d3dxof.c b/dlls/d3dxof/d3dxof.c index a02f99b48c2..af84ef8b9a2 100644 --- a/dlls/d3dxof/d3dxof.c +++ b/dlls/d3dxof/d3dxof.c @@ -1843,7 +1843,7 @@ static BOOL parse_object_parts(parse_buffer * buf, BOOL allow_optional) { if (check_TOKEN(buf) == TOKEN_OBRACE) { - int i; + int i, j; get_TOKEN(buf); if (get_TOKEN(buf) != TOKEN_NAME) return FALSE; @@ -1852,9 +1852,13 @@ static BOOL parse_object_parts(parse_buffer * buf, BOOL allow_optional) TRACE("Found optional reference %s\n", (char*)buf->value); for (i = 0; i < buf->nb_pxo_globals; i++) { - if (!strcmp(buf->pxo_globals[i*MAX_SUBOBJECTS].name, (char*)buf->value)) - break; + for (j = 0; j < buf->pxo_globals[i*MAX_SUBOBJECTS].nb_subobjects; j++) + { + if (!strcmp(buf->pxo_globals[i*MAX_SUBOBJECTS+j].name, (char*)buf->value)) + goto _exit; + } } +_exit: if (i == buf->nb_pxo_globals) { ERR("Reference to unknown object %s\n", (char*)buf->value);