=?UTF-8?Q?Rico=20Sch=C3=BCller=20?=: d3dx9: Improve ID3DXConstantTable:: GetConstantDesc().

Alexandre Julliard julliard at winehq.org
Mon Aug 27 14:35:02 CDT 2012


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

Author: Rico Schüller <kgbricola at web.de>
Date:   Sat Aug 25 16:28:27 2012 +0200

d3dx9: Improve ID3DXConstantTable::GetConstantDesc().

---

 dlls/d3dx9_36/shader.c |   21 ++++++---------------
 1 files changed, 6 insertions(+), 15 deletions(-)

diff --git a/dlls/d3dx9_36/shader.c b/dlls/d3dx9_36/shader.c
index db48dd8..ec5a924 100644
--- a/dlls/d3dx9_36/shader.c
+++ b/dlls/d3dx9_36/shader.c
@@ -923,27 +923,18 @@ static HRESULT WINAPI ID3DXConstantTableImpl_GetConstantDesc(ID3DXConstantTable
                                                              D3DXCONSTANT_DESC *desc, UINT *count)
 {
     struct ID3DXConstantTableImpl *This = impl_from_ID3DXConstantTable(iface);
-    struct ctab_constant *constant_info;
+    struct ctab_constant *c = get_valid_constant(This, constant);
 
     TRACE("(%p)->(%p, %p, %p)\n", This, constant, desc, count);
 
-    if (!constant)
-        return D3DERR_INVALIDCALL;
-
-    /* Applications can pass the name of the constant in place of the handle */
-    if (!is_valid_constant(This, constant))
+    if (!c)
     {
-        constant = ID3DXConstantTable_GetConstantByName(iface, NULL, constant);
-        if (!constant)
-            return D3DERR_INVALIDCALL;
+        WARN("Invalid argument specified\n");
+        return D3DERR_INVALIDCALL;
     }
 
-    constant_info = constant_from_handle(constant);
-
-    if (desc)
-        *desc = constant_info->desc;
-    if (count)
-        *count = 1;
+    if (desc) *desc = c->desc;
+    if (count) *count = 1;
 
     return D3D_OK;
 }




More information about the wine-cvs mailing list