=?UTF-8?Q?J=C3=B6rg=20H=C3=B6hle=20?=: mciseq: Play returns MCIERR_OUTOFRANGE as required.
Alexandre Julliard
julliard at winehq.org
Mon Oct 8 13:39:57 CDT 2012
Module: wine
Branch: master
Commit: 0e675165f15f463f16a3d0ad9520e95c8905fca4
URL: http://source.winehq.org/git/wine.git/?a=commit;h=0e675165f15f463f16a3d0ad9520e95c8905fca4
Author: Jörg Höhle <hoehle at 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);
More information about the wine-cvs
mailing list