Henri Verbeet : ddraw: Don' t return an error when setting a 0 material handle in d3d_device3_SetLightState ().
Module: wine Branch: master Commit: 56d7e3b9a759014ec911895cd64fdfe4f19f2b3c URL: http://source.winehq.org/git/wine.git/?a=commit;h=56d7e3b9a759014ec911895cd6... Author: Henri Verbeet <hverbeet(a)codeweavers.com> Date: Tue Apr 29 10:41:06 2014 +0200 ddraw: Don't return an error when setting a 0 material handle in d3d_device3_SetLightState(). --- dlls/ddraw/device.c | 19 +++++++++++-------- 1 file changed, 11 insertions(+), 8 deletions(-) diff --git a/dlls/ddraw/device.c b/dlls/ddraw/device.c index e6f40a0..88142a9 100644 --- a/dlls/ddraw/device.c +++ b/dlls/ddraw/device.c @@ -2945,16 +2945,19 @@ static HRESULT WINAPI d3d_device3_SetLightState(IDirect3DDevice3 *iface, wined3d_mutex_lock(); if (state == D3DLIGHTSTATE_MATERIAL) { - struct d3d_material *m = ddraw_get_object(&device->handle_table, value - 1, DDRAW_HANDLE_MATERIAL); - if (!m) + if (value) { - WARN("Invalid material handle.\n"); - wined3d_mutex_unlock(); - return DDERR_INVALIDPARAMS; - } + struct d3d_material *m; - TRACE(" activating material %p.\n", m); - material_activate(m); + if (!(m = ddraw_get_object(&device->handle_table, value - 1, DDRAW_HANDLE_MATERIAL))) + { + WARN("Invalid material handle.\n"); + wined3d_mutex_unlock(); + return DDERR_INVALIDPARAMS; + } + + material_activate(m); + } device->material = value; }
participants (1)
-
Alexandre Julliard