Andrew Eikum <[email protected]> writes:

> @@ -198,21 +1771,25 @@ UINT WINAPI waveOutGetErrorTextA(UINT uError, LPSTR 
> lpText, UINT uSize)
>   */
>  UINT WINAPI waveOutGetErrorTextW(UINT uError, LPWSTR lpText, UINT uSize)
>  {
> -    UINT        ret = MMSYSERR_BADERRNUM;
> -
> -    if (lpText == NULL) ret = MMSYSERR_INVALPARAM;
> -    else if (uSize == 0) ret = MMSYSERR_NOERROR;
> -    else if (
> -            /* test has been removed because MMSYSERR_BASE is 0, and gcc did 
> emit
> -             * a warning for the test was always true */
> -            (/*uError >= MMSYSERR_BASE && */ uError <= MMSYSERR_LASTERROR) ||
> -            (uError >= WAVERR_BASE  && uError <= WAVERR_LASTERROR)) {
> -     if (LoadStringW(hWinMM32Instance,
> -                     uError, lpText, uSize) > 0) {
> -         ret = MMSYSERR_NOERROR;
> -     }
> -    }
> -    return ret;
> +    TRACE("(%u, %p, %u)\n", uError, lpText, uSize);
> +
> +    if(!WINMM_StartDevicesThread())
> +        return MMSYSERR_ERROR;
> +
> +    if(!lpText)
> +        return MMSYSERR_INVALPARAM;
> +
> +    if(uSize == 0)
> +        return MMSYSERR_NOERROR;
> +
> +    if(uError > MMSYSERR_LASTERROR || uError < WAVERR_BASE ||
> +            uError > WAVERR_LASTERROR)
> +        return MMSYSERR_BADERRNUM;

This doesn't do what you want (and that sort of change could easily be a
separate patch).

-- 
Alexandre Julliard
[email protected]


Reply via email to