[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