Henri Verbeet : wined3d: Clear SFLAG_LOCKED as soon as possible in IWineD3DSurfaceImpl_Unmap().

Alexandre Julliard julliard at winehq.org
Mon Mar 7 12:22:45 CST 2011


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

Author: Henri Verbeet <hverbeet at codeweavers.com>
Date:   Mon Mar  7 01:30:33 2011 +0100

wined3d: Clear SFLAG_LOCKED as soon as possible in IWineD3DSurfaceImpl_Unmap().

---

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

diff --git a/dlls/wined3d/surface.c b/dlls/wined3d/surface.c
index daa484c..03d597c 100644
--- a/dlls/wined3d/surface.c
+++ b/dlls/wined3d/surface.c
@@ -2006,6 +2006,9 @@ static HRESULT WINAPI IWineD3DSurfaceImpl_Unmap(IWineD3DSurface *iface)
         return WINEDDERR_NOTLOCKED;
     }
 
+    This->flags &= ~SFLAG_LOCKED;
+    memset(&This->lockedRect, 0, sizeof(This->lockedRect));
+
     if (This->flags & SFLAG_PBO)
     {
         const struct wined3d_gl_info *gl_info;
@@ -2080,10 +2083,7 @@ static HRESULT WINAPI IWineD3DSurfaceImpl_Unmap(IWineD3DSurface *iface)
         FIXME("Depth Stencil buffer locking is not implemented\n");
     }
 
-    unlock_end:
-    This->flags &= ~SFLAG_LOCKED;
-    memset(&This->lockedRect, 0, sizeof(RECT));
-
+unlock_end:
     /* Overlays have to be redrawn manually after changes with the GL implementation */
     if (This->overlay_dest)
         This->surface_ops->surface_draw_overlay(This);




More information about the wine-cvs mailing list