From a29584b34ffe62684176e3cdf066d765d35db8e0 Mon Sep 17 00:00:00 2001 From: Roderick Colenbrander Date: Fri, 15 Feb 2008 22:58:38 +0000 Subject: [PATCH] wined3d: Add SURFACE_BUSY support to *_BltFast. --- dlls/wined3d/surface.c | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/dlls/wined3d/surface.c b/dlls/wined3d/surface.c index e241a85bd52..6a179493e2b 100644 --- a/dlls/wined3d/surface.c +++ b/dlls/wined3d/surface.c @@ -3474,6 +3474,12 @@ HRESULT WINAPI IWineD3DSurfaceImpl_BltFast(IWineD3DSurface *iface, DWORD dstx, D IWineD3DDeviceImpl *myDevice = This->resource.wineD3DDevice; TRACE("(%p)->(%d, %d, %p, %p, %08x\n", iface, dstx, dsty, Source, rsrc, trans); + if ( (This->Flags & SFLAG_LOCKED) || ((srcImpl != NULL) && (srcImpl->Flags & SFLAG_LOCKED))) + { + WARN(" Surface is busy, returning DDERR_SURFACEBUSY\n"); + return WINEDDERR_SURFACEBUSY; + } + if(myDevice->inScene && (iface == myDevice->stencilBufferTarget || (Source && Source == myDevice->stencilBufferTarget))) {