Module: wine Branch: master Commit: 0e675165f15f463f16a3d0ad9520e95c8905fca4 URL: http://source.winehq.org/git/wine.git/?a=commit;h=0e675165f15f463f16a3d0ad95...
Author: Jörg Höhle hoehle@users.sourceforge.net Date: Tue Mar 1 21:35:23 2011 +0100
mciseq: Play returns MCIERR_OUTOFRANGE as required.
---
dlls/mciseq/mcimidi.c | 14 ++++++++------ 1 files changed, 8 insertions(+), 6 deletions(-)
diff --git a/dlls/mciseq/mcimidi.c b/dlls/mciseq/mcimidi.c index 86ce66c..2a65027 100644 --- a/dlls/mciseq/mcimidi.c +++ b/dlls/mciseq/mcimidi.c @@ -1170,17 +1170,19 @@ static DWORD MIDI_mciPlay(WINE_MCIMIDI* wmm, DWORD dwFlags, LPMCI_PLAY_PARMS lpP return MCI_SendCommandAsync(wmm->wDevID, MCI_PLAY, dwFlags, (DWORD_PTR)lpParms, sizeof(MCI_PLAY_PARMS)); }
+ if (lpParms && (dwFlags & MCI_TO)) { + dwEndMS = MIDI_ConvertTimeFormatToMS(wmm, lpParms->dwTo); + /* FIXME: if (dwEndMS > length) return MCIERR_OUTOFRANGE; */ + } else { + dwEndMS = 0xFFFFFFFFul; /* FIXME: dwEndMS = length; */ + } if (lpParms && (dwFlags & MCI_FROM)) { dwStartMS = MIDI_ConvertTimeFormatToMS(wmm, lpParms->dwFrom); } else { dwStartMS = wmm->dwPositionMS; } - - if (lpParms && (dwFlags & MCI_TO)) { - dwEndMS = MIDI_ConvertTimeFormatToMS(wmm, lpParms->dwTo); - } else { - dwEndMS = 0xFFFFFFFFul; - } + if (dwEndMS < dwStartMS) + return MCIERR_OUTOFRANGE;
TRACE("Playing from %u to %u\n", dwStartMS, dwEndMS);