From 9bf1fe622dc38bd04b8f4a9c86ee7a4a01b77fb6 Mon Sep 17 00:00:00 2001 From: "H. Verbeet" Date: Mon, 14 Nov 2005 12:27:31 +0000 Subject: [PATCH] Fix the default value for keylow in DIB_DirectDrawSurface_Blt. Unset DDBLT_DDFX when lpbltfx is NULL / contains no dwDDFX. --- dlls/ddraw/surface_dib.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/dlls/ddraw/surface_dib.c b/dlls/ddraw/surface_dib.c index e5c50774086..f7b8073b40f 100644 --- a/dlls/ddraw/surface_dib.c +++ b/dlls/ddraw/surface_dib.c @@ -538,6 +538,8 @@ DIB_DirectDrawSurface_Blt(LPDIRECTDRAWSURFACE7 iface, LPRECT rdst, IDirectDrawSurface7_Lock(iface,NULL,&ddesc,DDLOCK_WRITEONLY,0); } + if (!lpbltfx || !(lpbltfx->dwDDFX)) dwFlags &= ~DDBLT_DDFX; + if ((sdesc.u4.ddpfPixelFormat.dwFlags & DDPF_FOURCC) && (ddesc.u4.ddpfPixelFormat.dwFlags & DDPF_FOURCC)) { if (sdesc.u4.ddpfPixelFormat.dwFourCC != sdesc.u4.ddpfPixelFormat.dwFourCC) { @@ -831,7 +833,7 @@ DIB_DirectDrawSurface_Blt(LPDIRECTDRAWSURFACE7 iface, LPRECT rdst, } } else { LONG dstyinc = ddesc.u1.lPitch, dstxinc = bpp; - DWORD keylow = 0, keyhigh = 0, keymask = 0xFFFFFFFF; + DWORD keylow = 0xFFFFFFFF, keyhigh = 0, keymask = 0xFFFFFFFF; if (dwFlags & (DDBLT_KEYSRC | DDBLT_KEYDEST | DDBLT_KEYSRCOVERRIDE | DDBLT_KEYDESTOVERRIDE)) { if (dwFlags & DDBLT_KEYSRC) { -- 2.11.4.GIT