From 5db342168d7e362af544e57792b31cfd0cf78a9d Mon Sep 17 00:00:00 2001 From: Christian Costa Date: Tue, 22 Jan 2013 08:36:19 +0100 Subject: [PATCH] d3dx9_36: Implement ID3DXFileData_GetChildren and ID3DXFileData_GetChild. --- dlls/d3dx9_36/xfile.c | 23 +++++++++++++++++++---- 1 file changed, 19 insertions(+), 4 deletions(-) diff --git a/dlls/d3dx9_36/xfile.c b/dlls/d3dx9_36/xfile.c index 802046795e3..82c7495b66e 100644 --- a/dlls/d3dx9_36/xfile.c +++ b/dlls/d3dx9_36/xfile.c @@ -243,17 +243,32 @@ static BOOL WINAPI ID3DXFileDataImpl_IsReference(ID3DXFileData *iface) static HRESULT WINAPI ID3DXFileDataImpl_GetChildren(ID3DXFileData *iface, SIZE_T *children) { - TRACE("(%p)->(%p): stub\n", iface, children); + ID3DXFileDataImpl *This = impl_from_ID3DXFileData(iface); - return E_NOTIMPL; + TRACE("(%p)->(%p)\n", iface, children); + + if (!children) + return E_POINTER; + + *children = This->nb_children; + + return S_OK; } static HRESULT WINAPI ID3DXFileDataImpl_GetChild(ID3DXFileData *iface, SIZE_T id, ID3DXFileData **object) { - TRACE("(%p)->(%lu, %p): stub\n", iface, id, object); + ID3DXFileDataImpl *This = impl_from_ID3DXFileData(iface); - return E_NOTIMPL; + TRACE("(%p)->(%lu, %p)\n", iface, id, object); + + if (!object) + return E_POINTER; + + *object = This->children[id]; + (*object)->lpVtbl->AddRef(*object); + + return S_OK; } -- 2.11.4.GIT