Roderick Colenbrander : wined3d: Add SURFACE_BUSY support to *_BltFast.

Alexandre Julliard julliard at winehq.org
Mon Feb 18 08:50:50 CST 2008


Module: wine
Branch: master
Commit: a29584b34ffe62684176e3cdf066d765d35db8e0
URL:    http://source.winehq.org/git/wine.git/?a=commit;h=a29584b34ffe62684176e3cdf066d765d35db8e0

Author: Roderick Colenbrander <thunderbird2k at gmx.net>
Date:   Fri Feb 15 22:58:38 2008 +0000

wined3d: Add SURFACE_BUSY support to *_BltFast.

---

 dlls/wined3d/surface.c |    6 ++++++
 1 files changed, 6 insertions(+), 0 deletions(-)

diff --git a/dlls/wined3d/surface.c b/dlls/wined3d/surface.c
index e241a85..6a17949 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))) {




More information about the wine-cvs mailing list