[Scummvm-git-logs] scummvm master -> 2cbe9a4235de11502e3c47028af8d037c7bb32d4

OMGPizzaGuy noreply at scummvm.org
Fri Nov 17 04:37:40 UTC 2023


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:
2cbe9a4235 ULTIMA8: Fix crash when Fluidsynth has no soundfont


Commit: 2cbe9a4235de11502e3c47028af8d037c7bb32d4
    https://github.com/scummvm/scummvm/commit/2cbe9a4235de11502e3c47028af8d037c7bb32d4
Author: Matthew Jimenez (matthew.jimenez at outlook.com)
Date: 2023-11-16T22:37:07-06:00

Commit Message:
ULTIMA8: Fix crash when Fluidsynth has no soundfont
Bug #14703

Changed paths:
    engines/ultima/ultima8/audio/midi_player.cpp


diff --git a/engines/ultima/ultima8/audio/midi_player.cpp b/engines/ultima/ultima8/audio/midi_player.cpp
index bc71a12f4f5..f5e7a59e2e1 100644
--- a/engines/ultima/ultima8/audio/midi_player.cpp
+++ b/engines/ultima/ultima8/audio/midi_player.cpp
@@ -62,6 +62,9 @@ MidiPlayer::MidiPlayer() : _parser(nullptr), _transitionParser(nullptr), _playin
 			_driver->property(MidiDriver::PROP_USER_VOLUME_SCALING, true);
 			_driver->setTimerCallback(this, &timerCallback);
 			syncSoundSettings();
+		} else {
+			delete _driver;
+			_driver = nullptr;
 		}
 	}
 }
@@ -70,19 +73,16 @@ MidiPlayer::~MidiPlayer() {
 	if (_parser) {
 		_parser->unloadMusic();
 		delete _parser;
-		_parser = 0;
 	}
 
 	if (_transitionParser) {
 		_transitionParser->unloadMusic();
 		delete _transitionParser;
-		_transitionParser = 0;
 	}
 
 	if (_driver) {
 		_driver->close();
 		delete _driver;
-		_driver = 0;
 	}
 }
 
@@ -95,7 +95,7 @@ void MidiPlayer::load(byte *data, size_t size, int seqNo) {
 	if (_parser) {
 		_parser->unloadMusic();
 		delete _parser;
-		_parser = 0;
+		_parser = nullptr;
 	}
 
 	if (size < 4)
@@ -117,6 +117,9 @@ void MidiPlayer::load(byte *data, size_t size, int seqNo) {
 }
 
 void MidiPlayer::loadTransitionData(byte* data, size_t size) {
+	if (!_driver)
+		return;
+
 	if (size < 4)
 		error("loadTransitionData() wrong music resource size");
 




More information about the Scummvm-git-logs mailing list