Module: wine Branch: master Commit: 4a823fdf00d39e6667ec46c94c5dd89846c76fab URL: http://source.winehq.org/git/wine.git/?a=commit;h=4a823fdf00d39e6667ec46c94c...
Author: Jörg Höhle hoehle@users.sourceforge.net Date: Fri Sep 14 16:46:32 2012 +0200
mciseq: Map MMSYSERR_* to MCIERR_* error codes.
---
dlls/mciseq/mcimidi.c | 20 ++++++++++++++++++-- 1 files changed, 18 insertions(+), 2 deletions(-)
diff --git a/dlls/mciseq/mcimidi.c b/dlls/mciseq/mcimidi.c index e77d3f8..3b544c3 100644 --- a/dlls/mciseq/mcimidi.c +++ b/dlls/mciseq/mcimidi.c @@ -86,6 +86,22 @@ typedef struct tagWINE_MCIMIDI { * MCI MIDI implementation * *======================================================================*/
+static DWORD mmr2mci(DWORD ret) +{ + switch (ret) { + case MMSYSERR_ALLOCATED: + return MCIERR_SEQ_PORT_INUSE; + case MMSYSERR_NOMEM: + return MCIERR_OUT_OF_MEMORY; + case MMSYSERR_BADDEVICEID: /* wine*.drv disabled */ + return MCIERR_SEQ_PORT_NONEXISTENT; + case MIDIERR_INVALIDSETUP: /* from midimap.dll without snd-seq module */ + return MCIERR_SEQ_PORT_MAPNODEVICE; + default: + return ret; + } +} + static DWORD MIDI_mciResume(WINE_MCIMIDI* wmm, DWORD dwFlags, LPMCI_GENERIC_PARMS lpParms);
/************************************************************************** @@ -862,7 +878,7 @@ static DWORD MIDI_player(WINE_MCIMIDI* wmm, DWORD dwFlags)
dwRet = midiOutOpen((LPHMIDIOUT)&wmm->hMidi, wmm->wPort, 0L, 0L, CALLBACK_NULL); if (dwRet != MMSYSERR_NOERROR) { - return dwRet; + return mmr2mci(dwRet); }
wmm->dwPulse = 0; @@ -1071,7 +1087,7 @@ static DWORD MIDI_player(WINE_MCIMIDI* wmm, DWORD dwFlags) /* Let the potentially asynchronous commands support FAILURE notification. */ if (oldcb) mciDriverNotify(oldcb, wmm->wDevID, dwRet ? MCI_NOTIFY_FAILURE : MCI_NOTIFY_SUCCESSFUL); - return dwRet; + return mmr2mci(dwRet); }
static DWORD CALLBACK MIDI_Starter(void *ptr)