[PATCH 3/5] ddraw: Release the wined3d mutex on error paths in ddraw_surface7_Blt().

Henri Verbeet hverbeet at codeweavers.com
Wed Aug 14 07:04:37 CDT 2019


Signed-off-by: Henri Verbeet <hverbeet at codeweavers.com>
---
 dlls/ddraw/surface.c | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/dlls/ddraw/surface.c b/dlls/ddraw/surface.c
index d415e4ace75..59af556560b 100644
--- a/dlls/ddraw/surface.c
+++ b/dlls/ddraw/surface.c
@@ -1742,6 +1742,7 @@ static HRESULT WINAPI DECLSPEC_HOTPATCH ddraw_surface7_Blt(IDirectDrawSurface7 *
                 && ((ULONG)src_rect->left >= src_rect->right || src_rect->right > src_impl->surface_desc.dwWidth
                 || (ULONG)src_rect->top >= src_rect->bottom || src_rect->bottom > src_impl->surface_desc.dwHeight))
         {
+            wined3d_mutex_unlock();
             WARN("Invalid source rectangle.\n");
             return DDERR_INVALIDRECT;
         }
@@ -1779,6 +1780,7 @@ static HRESULT WINAPI DECLSPEC_HOTPATCH ddraw_surface7_Blt(IDirectDrawSurface7 *
     if (!(flags & (DDBLT_COLORFILL | DDBLT_DEPTHFILL)) && !src_impl)
     {
         WARN("No source surface.\n");
+        wined3d_mutex_unlock();
         return DDERR_INVALIDPARAMS;
     }
 
-- 
2.11.0




More information about the wine-devel mailing list