dinput: Call missing LeaveCriticalSection in the error case (found by Smatch)

Vitaliy Margolen wine-devel at kievinfo.com
Thu Oct 5 23:04:06 CDT 2006


James Hawkins wrote:
> Hi,
> 
> Changelog:
> * Call missing LeaveCriticalSection in the error case (found by Smatch).
> 
> dlls/dinput/mouse.c |    3 +++
> 1 files changed, 3 insertions(+), 0 deletions(-)
> 
> 
> ------------------------------------------------------------------------
> 
> diff --git a/dlls/dinput/mouse.c b/dlls/dinput/mouse.c
> index aae5e9a..ea4b2c4 100644
> --- a/dlls/dinput/mouse.c
> +++ b/dlls/dinput/mouse.c
> @@ -703,7 +703,10 @@ static HRESULT WINAPI SysMouseAImpl_GetD
>      /* Check if we need to do a mouse warping */
>      if (This->need_warp == WARP_NEEDED && (GetCurrentTime() - This->last_warped > 10)) {
>          if(!dinput_window_check(This))
> +        {
> +            LeaveCriticalSection(&(This->crit));
>              return DIERR_GENERIC;
> +        }
>  	TRACE("Warping mouse to %ld - %ld\n", This->mapped_center.x, This->mapped_center.y);
>  	SetCursorPos( This->mapped_center.x, This->mapped_center.y );
>          This->last_warped = GetCurrentTime();
> 
> 
This patch will conflict with one of my patches that removes this code
completely. Just a heads up.

Vitaliy.



More information about the wine-devel mailing list