[Scummvm-cvs-logs] SF.net SVN: scummvm:[55857] scummvm/trunk/backends/midi

fingolfin at users.sourceforge.net fingolfin at users.sourceforge.net
Wed Feb 9 12:03:37 CET 2011


Revision: 55857
          http://scummvm.svn.sourceforge.net/scummvm/?rev=55857&view=rev
Author:   fingolfin
Date:     2011-02-09 11:03:36 +0000 (Wed, 09 Feb 2011)

Log Message:
-----------
MIDI: Really fix bug #3153076 (this time also for Timidity)

Modified Paths:
--------------
    scummvm/trunk/backends/midi/seq.cpp
    scummvm/trunk/backends/midi/timidity.cpp

Modified: scummvm/trunk/backends/midi/seq.cpp
===================================================================
--- scummvm/trunk/backends/midi/seq.cpp	2011-02-09 06:58:04 UTC (rev 55856)
+++ scummvm/trunk/backends/midi/seq.cpp	2011-02-09 11:03:36 UTC (rev 55857)
@@ -148,9 +148,8 @@
 		warning("MidiDriver_SEQ::send: unknown : %08x", (int)b);
 		break;
 	}
-	ssize_t out = write(device, buf, position);
-	if (out == -1)
-		warning("MidiDriver_SEQ::send: write failed (errno %d)", errno);
+	if (write(device, buf, position) == -1)
+		warning("MidiDriver_SEQ::send: write failed (%s)", strerror(errno));
 }
 
 void MidiDriver_SEQ::sysEx(const byte *msg, uint16 length) {
@@ -175,9 +174,8 @@
 	buf[position++] = _device_num;
 	buf[position++] = 0;
 
-	ssize_t out = write(device, buf, position);
-	if (out == -1)
-		warning("MidiDriver_SEQ::sysEx: write failed (errno %d)", errno);
+	if (write(device, buf, position) == -1)
+		warning("MidiDriver_SEQ::send: write failed (%s)", strerror(errno));
 }
 
 

Modified: scummvm/trunk/backends/midi/timidity.cpp
===================================================================
--- scummvm/trunk/backends/midi/timidity.cpp	2011-02-09 06:58:04 UTC (rev 55856)
+++ scummvm/trunk/backends/midi/timidity.cpp	2011-02-09 11:03:36 UTC (rev 55857)
@@ -337,7 +337,11 @@
 			buff[len++] = '\n';
 
 		/* write command to control socket */
-		write(_control_fd, buff, len);
+		if (write(_control_fd, buff, len) == -1) {
+			warning("TiMidity: CONTROL WRITE FAILED (%s)", strerror(errno));
+			// TODO: Disable output?
+			//close_all();
+		}
 	}
 
 	while (1) {


This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.




More information about the Scummvm-git-logs mailing list