From b1e03b3250c62b3321cef57e381c4d273e42f2fb Mon Sep 17 00:00:00 2001 From: Henri Verbeet Date: Mon, 7 Mar 2011 01:30:33 +0100 Subject: [PATCH] wined3d: Clear SFLAG_LOCKED as soon as possible in IWineD3DSurfaceImpl_Unmap(). --- dlls/wined3d/surface.c | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/dlls/wined3d/surface.c b/dlls/wined3d/surface.c index daa484ceadb..03d597c03c8 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);