diff --git a/dlls/ddraw/surface.c b/dlls/ddraw/surface.c index f1841110b02..b0b7437c817 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;