Jörg Höhle : wineoss: Ignore failure to notify MIDI clients.

Alexandre Julliard julliard at winehq.org
Fri Feb 5 08:42:31 CST 2010


Module: wine
Branch: master
Commit: 4f1604e92de3f0a5d70c0427349a52042d975f62
URL:    http://source.winehq.org/git/wine.git/?a=commit;h=4f1604e92de3f0a5d70c0427349a52042d975f62

Author: Jörg Höhle <hoehle at users.sourceforge.net>
Date:   Thu Feb  4 21:04:56 2010 +0100

wineoss: Ignore failure to notify MIDI clients.

---

 dlls/wineoss.drv/midi.c |   56 +++++++++++++---------------------------------
 1 files changed, 16 insertions(+), 40 deletions(-)

diff --git a/dlls/wineoss.drv/midi.c b/dlls/wineoss.drv/midi.c
index d82dbdc..52a6066 100644
--- a/dlls/wineoss.drv/midi.c
+++ b/dlls/wineoss.drv/midi.c
@@ -398,8 +398,8 @@ LRESULT OSS_MidiExit(void)
 /**************************************************************************
  * 			MIDI_NotifyClient			[internal]
  */
-static DWORD MIDI_NotifyClient(UINT wDevID, WORD wMsg,
-			       DWORD dwParam1, DWORD dwParam2)
+static void MIDI_NotifyClient(UINT wDevID, WORD wMsg,
+			      DWORD dwParam1, DWORD dwParam2)
 {
     DWORD 		dwCallBack;
     UINT 		uFlags;
@@ -414,8 +414,7 @@ static DWORD MIDI_NotifyClient(UINT wDevID, WORD wMsg,
     case MOM_CLOSE:
     case MOM_DONE:
     case MOM_POSITIONCB:
-	if (wDevID > MODM_NumDevs)
-	    return MMSYSERR_BADDEVICEID;
+	if (wDevID > MODM_NumDevs) return;
 
 	dwCallBack = MidiOutDev[wDevID].midiDesc.dwCallback;
 	uFlags = MidiOutDev[wDevID].wFlags;
@@ -430,8 +429,7 @@ static DWORD MIDI_NotifyClient(UINT wDevID, WORD wMsg,
     case MIM_ERROR:
     case MIM_LONGERROR:
     case MIM_MOREDATA:
-	if (wDevID > MIDM_NumDevs)
-	    return MMSYSERR_BADDEVICEID;
+	if (wDevID > MIDM_NumDevs) return;
 
 	dwCallBack = MidiInDev[wDevID].midiDesc.dwCallback;
 	uFlags = MidiInDev[wDevID].wFlags;
@@ -439,12 +437,11 @@ static DWORD MIDI_NotifyClient(UINT wDevID, WORD wMsg,
 	dwInstance = MidiInDev[wDevID].midiDesc.dwInstance;
 	break;
     default:
-	WARN("Unsupported MSW-MIDI message %u\n", wMsg);
-	return MMSYSERR_ERROR;
+	ERR("Unsupported MSW-MIDI message %u\n", wMsg);
+	return;
     }
 
-    return DriverCallback(dwCallBack, uFlags, hDev, wMsg, dwInstance, dwParam1, dwParam2) ?
-	0 : MMSYSERR_ERROR;
+    DriverCallback(dwCallBack, uFlags, hDev, wMsg, dwInstance, dwParam1, dwParam2);
 }
 
 static int midi_warn = 1;
@@ -569,9 +566,7 @@ static void midReceiveChar(WORD wDevID, unsigned char value, DWORD dwTime)
 	    lpMidiHdr->dwFlags &= ~MHDR_INQUEUE;
 	    lpMidiHdr->dwFlags |= MHDR_DONE;
 	    MidiInDev[wDevID].lpQueueHdr = lpMidiHdr->lpNext;
-	    if (MIDI_NotifyClient(wDevID, MIM_LONGDATA, (DWORD_PTR)lpMidiHdr, dwTime) != MMSYSERR_NOERROR) {
-		WARN("Couldn't notify client\n");
-	    }
+	    MIDI_NotifyClient(wDevID, MIM_LONGDATA, (DWORD_PTR)lpMidiHdr, dwTime);
 	}
 	LeaveCriticalSection(&crit_sect);
 	return;
@@ -637,9 +632,7 @@ static void midReceiveChar(WORD wDevID, unsigned char value, DWORD dwTime)
 	TRACE("Sending event %08x\n", toSend);
 	MidiInDev[wDevID].incLen =	0;
 	dwTime -= MidiInDev[wDevID].startTime;
-	if (MIDI_NotifyClient(wDevID, MIM_DATA, toSend, dwTime) != MMSYSERR_NOERROR) {
-	    WARN("Couldn't notify client\n");
-	}
+	MIDI_NotifyClient(wDevID, MIM_DATA, toSend, dwTime);
     }
 }
 
@@ -779,10 +772,7 @@ static DWORD midOpen(WORD wDevID, LPMIDIOPENDESC lpDesc, DWORD dwFlags)
     MidiInDev[wDevID].incLen = 0;
     MidiInDev[wDevID].startTime = 0;
 
-    if (MIDI_NotifyClient(wDevID, MIM_OPEN, 0L, 0L) != MMSYSERR_NOERROR) {
-	WARN("can't notify client !\n");
-	return MMSYSERR_INVALPARAM;
-    }
+    MIDI_NotifyClient(wDevID, MIM_OPEN, 0L, 0L);
     return MMSYSERR_NOERROR;
 }
 
@@ -823,10 +813,7 @@ static DWORD midClose(WORD wDevID)
     midiCloseSeq();
 
     MidiInDev[wDevID].bufsize = 0;
-    if (MIDI_NotifyClient(wDevID, MIM_CLOSE, 0L, 0L) != MMSYSERR_NOERROR) {
-	WARN("can't notify client !\n");
-	ret = MMSYSERR_INVALPARAM;
-    }
+    MIDI_NotifyClient(wDevID, MIM_CLOSE, 0L, 0L);
     MidiInDev[wDevID].midiDesc.hMidi = 0;
     return ret;
 }
@@ -924,10 +911,8 @@ static DWORD midReset(WORD wDevID)
 	MidiInDev[wDevID].lpQueueHdr->dwFlags &= ~MHDR_INQUEUE;
 	MidiInDev[wDevID].lpQueueHdr->dwFlags |= MHDR_DONE;
 	/* FIXME: when called from 16 bit, lpQueueHdr needs to be a segmented ptr */
-	if (MIDI_NotifyClient(wDevID, MIM_LONGDATA,
-			      (DWORD_PTR)MidiInDev[wDevID].lpQueueHdr, dwTime) != MMSYSERR_NOERROR) {
-	    WARN("Couldn't notify client\n");
-	}
+	MIDI_NotifyClient(wDevID, MIM_LONGDATA,
+			  (DWORD_PTR)MidiInDev[wDevID].lpQueueHdr, dwTime);
 	MidiInDev[wDevID].lpQueueHdr = MidiInDev[wDevID].lpQueueHdr->lpNext;
     }
     LeaveCriticalSection(&crit_sect);
@@ -1174,10 +1159,7 @@ static DWORD modOpen(WORD wDevID, LPMIDIOPENDESC lpDesc, DWORD dwFlags)
     MidiOutDev[wDevID].bufsize = 0x3FFF;
     MidiOutDev[wDevID].midiDesc = *lpDesc;
 
-    if (MIDI_NotifyClient(wDevID, MOM_OPEN, 0L, 0L) != MMSYSERR_NOERROR) {
-	WARN("can't notify client !\n");
-	return MMSYSERR_INVALPARAM;
-    }
+    MIDI_NotifyClient(wDevID, MOM_OPEN, 0L, 0L);
     TRACE("Successful !\n");
     return MMSYSERR_NOERROR;
 }
@@ -1219,10 +1201,7 @@ static DWORD modClose(WORD wDevID)
     MidiOutDev[wDevID].lpExtra = 0;
 
     MidiOutDev[wDevID].bufsize = 0;
-    if (MIDI_NotifyClient(wDevID, MOM_CLOSE, 0L, 0L) != MMSYSERR_NOERROR) {
-	WARN("can't notify client !\n");
-	ret = MMSYSERR_INVALPARAM;
-    }
+    MIDI_NotifyClient(wDevID, MOM_CLOSE, 0L, 0L);
     MidiOutDev[wDevID].midiDesc.hMidi = 0;
     return ret;
 }
@@ -1596,10 +1575,7 @@ static DWORD modLongData(WORD wDevID, LPMIDIHDR lpMidiHdr, DWORD dwSize)
 
     lpMidiHdr->dwFlags &= ~MHDR_INQUEUE;
     lpMidiHdr->dwFlags |= MHDR_DONE;
-    if (MIDI_NotifyClient(wDevID, MOM_DONE, (DWORD_PTR)lpMidiHdr, 0L) != MMSYSERR_NOERROR) {
-	WARN("can't notify client !\n");
-	return MMSYSERR_INVALPARAM;
-    }
+    MIDI_NotifyClient(wDevID, MOM_DONE, (DWORD_PTR)lpMidiHdr, 0L);
     return MMSYSERR_NOERROR;
 }
 




More information about the wine-cvs mailing list