[PATCH 1/2] d3dx9_36: Implement ID3DXFileEnumObjectImpl_GetChildren and ID3DXFileEnumObjectImpl_GetChild.

Christian Costa titan.costa at gmail.com
Thu Jan 10 02:36:53 CST 2013


---
 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 5db7800..d4f08e3 100644
--- a/dlls/d3dx9_36/xfile.c
+++ b/dlls/d3dx9_36/xfile.c
@@ -300,17 +300,32 @@ static HRESULT WINAPI ID3DXFileEnumObjectImpl_GetFile(ID3DXFileEnumObject *iface
 
 static HRESULT WINAPI ID3DXFileEnumObjectImpl_GetChildren(ID3DXFileEnumObject *iface, SIZE_T *children)
 {
-    FIXME("(%p)->(%p): stub\n", iface, children);
+    ID3DXFileEnumObjectImpl *This = impl_from_ID3DXFileEnumObject(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 ID3DXFileEnumObjectImpl_GetChild(ID3DXFileEnumObject *iface, SIZE_T id, ID3DXFileData **object)
 {
-    FIXME("(%p)->(%lu, %p): stub\n", iface, id, object);
+    ID3DXFileEnumObjectImpl *This = impl_from_ID3DXFileEnumObject(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;
 }
 
 




More information about the wine-patches mailing list