[PATCH 5/5] ddraw: Don't return an error when setting a 0 material handle in d3d_device3_SetLightState().
Henri Verbeet
hverbeet at codeweavers.com
Tue Apr 29 03:41:06 CDT 2014
---
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;
}
--
1.7.10.4
More information about the wine-patches
mailing list