Rico Schüller : d3dx9: Implement ID3DXEffect::GetPool( ).

Alexandre Julliard julliard at winehq.org
Tue Mar 29 11:43:08 CDT 2011


Module: wine
Branch: master
Commit: 96192306a09feed279b6741ab6c490ee33844290
URL:    http://source.winehq.org/git/wine.git/?a=commit;h=96192306a09feed279b6741ab6c490ee33844290

Author: Rico Schüller <kgbricola at web.de>
Date:   Sun Mar 27 22:12:52 2011 +0200

d3dx9: Implement ID3DXEffect::GetPool().

---

 dlls/d3dx9_36/effect.c |   21 ++++++++++++++++++---
 1 files changed, 18 insertions(+), 3 deletions(-)

diff --git a/dlls/d3dx9_36/effect.c b/dlls/d3dx9_36/effect.c
index 00a35cd..795b426 100644
--- a/dlls/d3dx9_36/effect.c
+++ b/dlls/d3dx9_36/effect.c
@@ -1303,13 +1303,28 @@ static HRESULT WINAPI ID3DXEffectImpl_SetArrayRange(ID3DXEffect *iface, D3DXHAND
 }
 
 /*** ID3DXEffect methods ***/
-static HRESULT WINAPI ID3DXEffectImpl_GetPool(ID3DXEffect* iface, LPD3DXEFFECTPOOL* pool)
+static HRESULT WINAPI ID3DXEffectImpl_GetPool(ID3DXEffect *iface, LPD3DXEFFECTPOOL *pool)
 {
     struct ID3DXEffectImpl *This = impl_from_ID3DXEffect(iface);
 
-    FIXME("(%p)->(%p): stub\n", This, pool);
+    TRACE("iface %p, pool %p\n", This, pool);
 
-    return E_NOTIMPL;
+    if (!pool)
+    {
+        WARN("Invalid argument supplied.\n");
+        return D3DERR_INVALIDCALL;
+    }
+
+    if (This->pool)
+    {
+        This->pool->lpVtbl->AddRef(This->pool);
+    }
+
+    *pool = This->pool;
+
+    TRACE("Returning pool %p\n", *pool);
+
+    return S_OK;
 }
 
 static HRESULT WINAPI ID3DXEffectImpl_SetTechnique(ID3DXEffect* iface, D3DXHANDLE technique)




More information about the wine-cvs mailing list