Re: [PATCH 5/5] d3dx9_36: Implement ID3DXFileDataImpl_GetType. (try 5)
On 10/25/2012 10:34, Christian Costa wrote:
--- dlls/d3dx9_36/xfile.c | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-)
diff --git a/dlls/d3dx9_36/xfile.c b/dlls/d3dx9_36/xfile.c index a1e0596..4c216da 100644 --- a/dlls/d3dx9_36/xfile.c +++ b/dlls/d3dx9_36/xfile.c @@ -154,9 +154,19 @@ static HRESULT WINAPI ID3DXFileDataImpl_Unlock(ID3DXFileData *iface)
static HRESULT WINAPI ID3DXFileDataImpl_GetType(ID3DXFileData *iface, GUID *guid) { - FIXME("(%p)->(%p): stub\n", iface, guid); + ID3DXFileDataImpl *This = impl_from_ID3DXFileData(iface); + const GUID *dxfile_guid; + HRESULT ret;
- return E_NOTIMPL; + TRACE("(%p)->(%p)\n", iface, guid); + + ret = IDirectXFileData_GetType(This->dxfile_object, &dxfile_guid); + if (ret != S_OK) + return ret; + + *guid = *dxfile_guid; + + return S_OK; }
Why not simply forward to IDirectXFileData here? What is all the surrounding code for?
2012/10/25 Nikolay Sivov <bunglehead(a)gmail.com>
On 10/25/2012 10:34, Christian Costa wrote:
--- dlls/d3dx9_36/xfile.c | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-)
diff --git a/dlls/d3dx9_36/xfile.c b/dlls/d3dx9_36/xfile.c index a1e0596..4c216da 100644 --- a/dlls/d3dx9_36/xfile.c +++ b/dlls/d3dx9_36/xfile.c @@ -154,9 +154,19 @@ static HRESULT WINAPI ID3DXFileDataImpl_Unlock(**ID3DXFileData *iface) static HRESULT WINAPI ID3DXFileDataImpl_GetType(**ID3DXFileData *iface, GUID *guid) { - FIXME("(%p)->(%p): stub\n", iface, guid); + ID3DXFileDataImpl *This = impl_from_ID3DXFileData(iface)**; + const GUID *dxfile_guid; + HRESULT ret; - return E_NOTIMPL; + TRACE("(%p)->(%p)\n", iface, guid); + + ret = IDirectXFileData_GetType(This-**>dxfile_object, &dxfile_guid); + if (ret != S_OK) + return ret; + + *guid = *dxfile_guid; + + return S_OK; }
Why not simply forward to IDirectXFileData here? What is all the surrounding code for?
IDirectXFileData_GetType returns a pointer to a GUID (GUID**) whereas ID3DXFileData_GetType fill the GUID (GUID*) hence this code.
participants (2)
-
Christian Costa -
Nikolay Sivov