[PATCH 3/5] ddraw: Only check dwFlags if we actually have a D3DLIGHT2 structure in d3d_light_SetLight().
Henri Verbeet
hverbeet at codeweavers.com
Sun Jan 13 15:08:07 CST 2013
---
dlls/ddraw/light.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/dlls/ddraw/light.c b/dlls/ddraw/light.c
index ebc1410..1d81803 100644
--- a/dlls/ddraw/light.c
+++ b/dlls/ddraw/light.c
@@ -210,7 +210,7 @@ static HRESULT WINAPI d3d_light_SetLight(IDirect3DLight *iface, D3DLIGHT *data)
/* Translate D3DLIGHT2 structure to D3DLIGHT7. */
light7->dltType = data->dltType;
light7->dcvDiffuse = data->dcvColor;
- if (((D3DLIGHT2 *)data)->dwFlags & D3DLIGHT_NO_SPECULAR)
+ if (data->dwSize >= sizeof(D3DLIGHT2) && (((D3DLIGHT2 *)data)->dwFlags & D3DLIGHT_NO_SPECULAR))
light7->dcvSpecular = data->dcvColor;
else
light7->dcvSpecular = *(const D3DCOLORVALUE *)zero_value;
--
1.7.12.4
More information about the wine-patches
mailing list