Check always if destination surface is locked.

This commit is contained in:
Paul Vriens 2005-03-10 11:13:11 +00:00 committed by Alexandre Julliard
parent 8382bf015e
commit fc1f63d279
1 changed files with 6 additions and 10 deletions

View File

@ -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 */