From fcb5b6c32cd40e8a6383a091a94f124cd7b360a0 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Rico=20Sch=C3=BCller?= <kgbricola@web.de>
Date: Wed, 18 Apr 2012 09:33:35 +0200
Subject: [PATCH] d3dx9: Use param->bytes for copying the data in
 ID3DXBaseEffect::SetValue().

---
 dlls/d3dx9_36/effect.c | 8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)

diff --git a/dlls/d3dx9_36/effect.c b/dlls/d3dx9_36/effect.c
index b8509b13332..def73a0a861 100644
--- a/dlls/d3dx9_36/effect.c
+++ b/dlls/d3dx9_36/effect.c
@@ -1623,7 +1623,7 @@ static HRESULT WINAPI ID3DXBaseEffectImpl_SetValue(ID3DXBaseEffect *iface, D3DXH
         return E_FAIL;
     }
 
-    if (data && param->bytes >= bytes)
+    if (data && param->bytes <= bytes)
     {
         switch (param->type)
         {
@@ -1631,8 +1631,8 @@ static HRESULT WINAPI ID3DXBaseEffectImpl_SetValue(ID3DXBaseEffect *iface, D3DXH
             case D3DXPT_BOOL:
             case D3DXPT_INT:
             case D3DXPT_FLOAT:
-                TRACE("Copy %u bytes\n", bytes);
-                memcpy(param->data, data, bytes);
+                TRACE("Copy %u bytes\n", param->bytes);
+                memcpy(param->data, data, param->bytes);
                 break;
 
             default:
@@ -3580,7 +3580,7 @@ static HRESULT WINAPI ID3DXEffectImpl_SetStateManager(ID3DXEffect *iface, LPD3DX
     TRACE("iface %p, manager %p\n", This, manager);
 
     if (manager) IUnknown_AddRef(manager);
-    if (This->manager) IUnknown_Release(This->manager);    
+    if (This->manager) IUnknown_Release(This->manager);
 
     This->manager = manager;
 
-- 
GitLab