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

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


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

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

wined3d: Add SURFACE_BUSY support to *_Blt.

---

 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 be464eb..e241a85 100644
--- a/dlls/wined3d/surface.c
+++ b/dlls/wined3d/surface.c
@@ -3436,6 +3436,12 @@ static HRESULT WINAPI IWineD3DSurfaceImpl_Blt(IWineD3DSurface *iface, RECT *Dest
     TRACE("(%p)->(%p,%p,%p,%x,%p)\n", This, DestRect, SrcSurface, SrcRect, Flags, DDBltFx);
     TRACE("(%p): Usage is %s\n", This, debug_d3dusage(This->resource.usage));
 
+    if ( (This->Flags & SFLAG_LOCKED) || ((Src != NULL) && (Src->Flags & SFLAG_LOCKED)))
+    {
+        WARN(" Surface is busy, returning DDERR_SURFACEBUSY\n");
+        return WINEDDERR_SURFACEBUSY;
+    }
+
     /* Accessing the depth stencil is supposed to fail between a BeginScene and EndScene pair,
      * except depth blits, which seem to work
      */




More information about the wine-cvs mailing list