From fc1f63d279d984777a260b02112096ff33af6a9c Mon Sep 17 00:00:00 2001 From: Paul Vriens Date: Thu, 10 Mar 2005 11:13:11 +0000 Subject: [PATCH] Check always if destination surface is locked. --- dlls/ddraw/dsurface/dib.c | 16 ++++++---------- 1 file changed, 6 insertions(+), 10 deletions(-) diff --git a/dlls/ddraw/dsurface/dib.c b/dlls/ddraw/dsurface/dib.c index 079cdfa4044..c0eafd44f55 100644 --- a/dlls/ddraw/dsurface/dib.c +++ b/dlls/ddraw/dsurface/dib.c @@ -514,11 +514,9 @@ DIB_DirectDrawSurface_Blt(LPDIRECTDRAWSURFACE7 iface, LPRECT rdst, } } - if (src != NULL) { - if (This->locked || ((IDirectDrawSurfaceImpl *)src)->locked) { - WARN(" Surface is busy, returning DDERR_SURFACEBUSY\n"); - return DDERR_SURFACEBUSY; - } + if ((This->locked) || ((src != NULL) && (((IDirectDrawSurfaceImpl *)src)->locked))) { + WARN(" Surface is busy, returning DDERR_SURFACEBUSY\n"); + return DDERR_SURFACEBUSY; } /* First, check if the possible override function handles this case */ @@ -992,11 +990,9 @@ DIB_DirectDrawSurface_BltFast(LPDIRECTDRAWSURFACE7 iface, DWORD dstx, TRACE(" srcrect: NULL\n"); } - if (src != NULL) { - if (This->locked || ((IDirectDrawSurfaceImpl *)src)->locked) { - WARN(" Surface is busy, returning DDERR_SURFACEBUSY\n"); - return DDERR_SURFACEBUSY; - } + if ((This->locked) || ((src != NULL) && (((IDirectDrawSurfaceImpl *)src)->locked))) { + WARN(" Surface is busy, returning DDERR_SURFACEBUSY\n"); + return DDERR_SURFACEBUSY; } /* First, check if the possible override function handles this case */