[PATCH 2/9] winmm: Implement waveOut* on top of MMDevAPI
Alexandre Julliard
julliard at winehq.org
Sat Jul 9 05:19:14 CDT 2011
Andrew Eikum <aeikum at codeweavers.com> 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
julliard at winehq.org
More information about the wine-devel
mailing list