=?UTF-8?Q?J=C3=B6rg=20H=C3=B6hle=20?=: mciseq: Only send non-MCI commands to DefDriverProc.
Alexandre Julliard
julliard at winehq.org
Wed Jan 4 13:53:00 CST 2012
Module: wine
Branch: master
Commit: dc17cec398d8047368ac38d8dd3b748f9e6a7e08
URL: http://source.winehq.org/git/wine.git/?a=commit;h=dc17cec398d8047368ac38d8dd3b748f9e6a7e08
Author: Jörg Höhle <hoehle at users.sourceforge.net>
Date: Wed Dec 15 21:49:58 2010 +0100
mciseq: Only send non-MCI commands to DefDriverProc.
---
dlls/mciseq/mcimidi.c | 31 +++++++------------------------
1 files changed, 7 insertions(+), 24 deletions(-)
diff --git a/dlls/mciseq/mcimidi.c b/dlls/mciseq/mcimidi.c
index 6bf7f4d..55f06f8 100644
--- a/dlls/mciseq/mcimidi.c
+++ b/dlls/mciseq/mcimidi.c
@@ -1630,6 +1630,10 @@ LRESULT CALLBACK MCIMIDI_DriverProc(DWORD_PTR dwDevID, HDRVR hDriv, UINT wMsg,
if (dwDevID == 0xFFFFFFFF) return MCIERR_UNSUPPORTED_FUNCTION;
+ if ((wMsg < DRV_MCI_FIRST) || (wMsg > DRV_MCI_LAST)) {
+ TRACE("Sending msg %04x to default driver proc\n", wMsg);
+ return DefDriverProc(dwDevID, hDriv, wMsg, dwParam1, dwParam2);
+ }
switch (wMsg) {
case MCI_OPEN_DRIVER: return MIDI_mciOpen (dwDevID, dwParam1, (LPMCI_OPEN_PARMSW) dwParam2);
case MCI_CLOSE_DRIVER: return MIDI_mciClose (dwDevID, dwParam1, (LPMCI_GENERIC_PARMS) dwParam2);
@@ -1642,33 +1646,12 @@ LRESULT CALLBACK MCIMIDI_DriverProc(DWORD_PTR dwDevID, HDRVR hDriv, UINT wMsg,
case MCI_GETDEVCAPS: return MIDI_mciGetDevCaps(dwDevID, dwParam1, (LPMCI_GETDEVCAPS_PARMS)dwParam2);
case MCI_INFO: return MIDI_mciInfo (dwDevID, dwParam1, (LPMCI_INFO_PARMSW) dwParam2);
case MCI_SEEK: return MIDI_mciSeek (dwDevID, dwParam1, (LPMCI_SEEK_PARMS) dwParam2);
- /* commands that should report an error */
- case MCI_RECORD:
- case MCI_LOAD:
- case MCI_SAVE:
- case MCI_FREEZE:
- case MCI_PUT:
- case MCI_WINDOW:
- case MCI_REALIZE:
- case MCI_UNFREEZE:
- case MCI_UPDATE:
- case MCI_WHERE:
- case MCI_STEP:
- case MCI_SPIN:
- case MCI_ESCAPE:
- case MCI_COPY:
- case MCI_CUT:
- case MCI_DELETE:
- case MCI_PASTE:
- TRACE("Unsupported command [0x%x]\n", wMsg);
- break;
case MCI_OPEN:
case MCI_CLOSE:
FIXME("Shouldn't receive a MCI_OPEN or CLOSE message\n");
- break;
+ /* fall through */
default:
- TRACE("Sending msg [%u] to default driver proc\n", wMsg);
- return DefDriverProc(dwDevID, hDriv, wMsg, dwParam1, dwParam2);
+ TRACE("Unsupported command [0x%x]\n", wMsg);
+ return MCIERR_UNSUPPORTED_FUNCTION; /* Win9x: MCIERR_UNRECOGNIZED_COMMAND */
}
- return MCIERR_UNSUPPORTED_FUNCTION;
}
More information about the wine-cvs
mailing list