winmm: MMIO_ALLOCBUF is ignored if mmioOpen gets a valid buffer.
Paul Vriens
paul.vriens.wine at gmail.com
Tue Oct 21 05:35:55 CDT 2008
Dmitry Timoshkov wrote:
> Existing tests show that MMIO_ALLOCBUF flag is dropped if a valid buffer
> is being passed to mmioOpen, that means the buffer is valid in that case.
>
> This patch fixes a regression reported in the bug 15694.
> ---
> dlls/winmm/mmio.c | 5 +++--
> 1 files changed, 3 insertions(+), 2 deletions(-)
>
> diff --git a/dlls/winmm/mmio.c b/dlls/winmm/mmio.c
> index 60b6d0f..a750bf2 100644
> --- a/dlls/winmm/mmio.c
> +++ b/dlls/winmm/mmio.c
> @@ -667,10 +667,11 @@ HMMIO MMIO_Open(LPSTR szFileName, MMIOINFO* refmminfo, DWORD dwOpenFlags,
> refmminfo->wErrorRet = MMIO_SetBuffer(wm, refmminfo->pchBuffer, refmminfo->cchBuffer, 0);
> if (refmminfo->wErrorRet != MMSYSERR_NOERROR)
> goto error1;
> - if (wm->info.fccIOProc == FOURCC_MEM)
> - wm->bBufferLoaded = TRUE;
> }
>
> + if (wm->info.fccIOProc == FOURCC_MEM && !(wm->info.dwFlags & MMIO_ALLOCBUF))
> + wm->bBufferLoaded = TRUE;
> +
> /* see mmioDosIOProc for that one */
> wm->info.adwInfo[0] = refmminfo->adwInfo[0];
>
Hi,
Is there a way the existing tests can be improved? Apparently the
existing tests show the behaviour but didn't prevent the regression.
--
Cheers,
Paul.
More information about the wine-devel
mailing list