Fix error checking in dlls/ddraw/executebuffer.c

Gerald Pfeifer gerald at pfeifer.com
Fri Jun 19 12:01:21 CDT 2009


I believe, after looking at the ranges of D3DLIGHTSTATETYPE, that
the below is the actual intention of this code (to ensure we are
in range).

Gerald

ChangeLog:
Fix error checking in IDirect3DExecuteBufferImpl_Execute().

diff --git a/dlls/ddraw/executebuffer.c b/dlls/ddraw/executebuffer.c
index 73e0657..6d6d304 100644
--- a/dlls/ddraw/executebuffer.c
+++ b/dlls/ddraw/executebuffer.c
@@ -249,7 +249,7 @@ IDirect3DExecuteBufferImpl_Execute(IDirect3DExecuteBufferImpl *This,
 
 		    TRACE("(%08x,%08x)\n", ci->u1.dlstLightStateType, ci->u2.dwArg[0]);
 
-		    if (!ci->u1.dlstLightStateType && (ci->u1.dlstLightStateType > D3DLIGHTSTATE_COLORVERTEX))
+		    if (!ci->u1.dlstLightStateType || (ci->u1.dlstLightStateType > D3DLIGHTSTATE_COLORVERTEX))
 			ERR("Unexpected Light State Type\n");
 		    else if (ci->u1.dlstLightStateType == D3DLIGHTSTATE_MATERIAL /* 1 */) {
 			DWORD matHandle = ci->u2.dwArg[0];



More information about the wine-patches mailing list