[Scummvm-cvs-logs] scummvm master -> 44676d02f4fd653e9302ef2a28d3cfd895984d22

m-kiewitz m_kiewitz at users.sourceforge.net
Wed Jul 1 01:37:35 CEST 2015


This automated email contains information about 1 new commit which have been
pushed to the 'scummvm' repo located at https://github.com/scummvm/scummvm .

Summary:
44676d02f4 ACCESS/AMAZON: music: no driver = ignore calls


Commit: 44676d02f4fd653e9302ef2a28d3cfd895984d22
    https://github.com/scummvm/scummvm/commit/44676d02f4fd653e9302ef2a28d3cfd895984d22
Author: Martin Kiewitz (m_kiewitz at users.sourceforge.net)
Date: 2015-07-01T01:37:12+02:00

Commit Message:
ACCESS/AMAZON: music: no driver = ignore calls

ignore music calls when midi driver wasn't created

Changed paths:
    engines/access/sound.cpp



diff --git a/engines/access/sound.cpp b/engines/access/sound.cpp
index 89fd4fe..fb51a1f 100644
--- a/engines/access/sound.cpp
+++ b/engines/access/sound.cpp
@@ -233,14 +233,16 @@ MusicManager::MusicManager(AccessEngine *vm) : _vm(vm) {
 	MidiDriver::detectDevice(MDT_MIDI | MDT_ADLIB | MDT_PREFER_GM);
 #endif
 
-	int retValue = _driver->open();
-	if (retValue == 0) {
-		if (_nativeMT32)
-			_driver->sendMT32Reset();
-		else
-			_driver->sendGMReset();
-
-		_driver->setTimerCallback(this, &timerCallback);
+	if (_driver) {
+		int retValue = _driver->open();
+		if (retValue == 0) {
+			if (_nativeMT32)
+				_driver->sendMT32Reset();
+			else
+				_driver->sendGMReset();
+
+			_driver->setTimerCallback(this, &timerCallback);
+		}
 	}
 }
 
@@ -264,6 +266,9 @@ void MusicManager::send(uint32 b) {
 void MusicManager::midiPlay() {
 	debugC(1, kDebugSound, "midiPlay");
 
+	if (!_driver)
+		return;
+
 	if (_music->_size < 4) {
 		error("midiPlay() wrong music resource size");
 	}
@@ -301,6 +306,8 @@ bool MusicManager::checkMidiDone() {
 void MusicManager::midiRepeat() {
 	debugC(1, kDebugSound, "midiRepeat");
 
+	if (!_driver)
+		return;
 	if (!_parser)
 		return;
 
@@ -313,6 +320,9 @@ void MusicManager::midiRepeat() {
 void MusicManager::stopSong() {
 	debugC(1, kDebugSound, "stopSong");
 
+	if (!_driver)
+		return;
+
 	stop();
 }
 
@@ -331,6 +341,9 @@ void MusicManager::loadMusic(FileIdent file) {
 void MusicManager::newMusic(int musicId, int mode) {
 	debugC(1, kDebugSound, "newMusic(%d, %d)", musicId, mode);
 
+	if (!_driver)
+		return;
+
 	if (mode == 1) {
 		stopSong();
 		freeMusic();






More information about the Scummvm-git-logs mailing list