ddraw: Fix double unlock of critical section

Andrew Talbot andrew.talbot at talbotville.com
Fri Jan 9 16:09:07 CST 2009


Changelog:
    ddraw: Fix double unlock of critical section.

diff --git a/dlls/ddraw/surface.c b/dlls/ddraw/surface.c
index f184111..b0b7437 100644
--- a/dlls/ddraw/surface.c
+++ b/dlls/ddraw/surface.c
@@ -2333,14 +2333,15 @@ IDirectDrawSurfaceImpl_SetSurfaceDesc(IDirectDrawSurface7 *iface,
         if(hr != WINED3D_OK)
         {
             /* No need for a trace here, wined3d does that for us */
-            LeaveCriticalSection(&ddraw_cs);
             switch(hr)
             {
-                case WINED3DERR_INVALIDCALL:        return DDERR_INVALIDPARAMS;
-                default:                            break; /* Go on */
+                case WINED3DERR_INVALIDCALL:
+                    LeaveCriticalSection(&ddraw_cs);
+                    return DDERR_INVALIDPARAMS;
+                default:
+                    break; /* Go on */
             }
         }
-
     }
 
     This->surface_desc = *DDSD;



More information about the wine-patches mailing list