aboutsummaryrefslogtreecommitdiff
path: root/sound/softsynth
diff options
context:
space:
mode:
authorFlorian Kagerer2010-10-18 21:16:58 +0000
committerFlorian Kagerer2010-10-18 21:16:58 +0000
commit5ff68b49d739d990b781102441b4473b9ff3ae2b (patch)
treeab9eed1a6fd1be8e13bf1db8369bf99a556fcc5a /sound/softsynth
parent0c72b1800dc122019643ce05ffd3d2d3163ca6d4 (diff)
downloadscummvm-rg350-5ff68b49d739d990b781102441b4473b9ff3ae2b.tar.gz
scummvm-rg350-5ff68b49d739d990b781102441b4473b9ff3ae2b.tar.bz2
scummvm-rg350-5ff68b49d739d990b781102441b4473b9ff3ae2b.zip
FM-TOWNS AUDIO: improve thread safety
svn-id: r53589
Diffstat (limited to 'sound/softsynth')
-rw-r--r--sound/softsynth/fmtowns_pc98/towns_audio.cpp1
-rw-r--r--sound/softsynth/fmtowns_pc98/towns_euphony.cpp4
-rw-r--r--sound/softsynth/fmtowns_pc98/towns_pc98_driver.cpp1
-rw-r--r--sound/softsynth/fmtowns_pc98/towns_pc98_fmsynth.cpp1
4 files changed, 1 insertions, 6 deletions
diff --git a/sound/softsynth/fmtowns_pc98/towns_audio.cpp b/sound/softsynth/fmtowns_pc98/towns_audio.cpp
index aa6df1db5a..d745afbc17 100644
--- a/sound/softsynth/fmtowns_pc98/towns_audio.cpp
+++ b/sound/softsynth/fmtowns_pc98/towns_audio.cpp
@@ -226,7 +226,6 @@ TownsAudioInterface::TownsAudioInterface(Audio::Mixer *mixer, TownsAudioInterfac
}
TownsAudioInterface::~TownsAudioInterface() {
- reset();
_ready = false;
deinit();
diff --git a/sound/softsynth/fmtowns_pc98/towns_euphony.cpp b/sound/softsynth/fmtowns_pc98/towns_euphony.cpp
index 7b52b4594f..e6f94b29b5 100644
--- a/sound/softsynth/fmtowns_pc98/towns_euphony.cpp
+++ b/sound/softsynth/fmtowns_pc98/towns_euphony.cpp
@@ -36,17 +36,15 @@ TownsEuphonyDriver::TownsEuphonyDriver(Audio::Mixer *mixer) : _activeChannels(0)
}
TownsEuphonyDriver::~TownsEuphonyDriver() {
+ delete _intf;
delete[] _activeChannels;
delete[] _sustainChannels;
delete[] _assignedChannels;
-
delete[] _tEnable;
delete[] _tMode;
delete[] _tOrdr;
delete[] _tLevel;
delete[] _tTranspose;
-
- delete _intf;
}
bool TownsEuphonyDriver::init() {
diff --git a/sound/softsynth/fmtowns_pc98/towns_pc98_driver.cpp b/sound/softsynth/fmtowns_pc98/towns_pc98_driver.cpp
index 8047616dbf..303f08e6b1 100644
--- a/sound/softsynth/fmtowns_pc98/towns_pc98_driver.cpp
+++ b/sound/softsynth/fmtowns_pc98/towns_pc98_driver.cpp
@@ -1053,7 +1053,6 @@ TownsPC98_AudioDriver::TownsPC98_AudioDriver(Audio::Mixer *mixer, EmuType type)
}
TownsPC98_AudioDriver::~TownsPC98_AudioDriver() {
- reset();
_ready = false;
deinit();
diff --git a/sound/softsynth/fmtowns_pc98/towns_pc98_fmsynth.cpp b/sound/softsynth/fmtowns_pc98/towns_pc98_fmsynth.cpp
index e779812c42..62f7d39771 100644
--- a/sound/softsynth/fmtowns_pc98/towns_pc98_fmsynth.cpp
+++ b/sound/softsynth/fmtowns_pc98/towns_pc98_fmsynth.cpp
@@ -1180,7 +1180,6 @@ int TownsPC98_FmSynth::readBuffer(int16 *buffer, const int numSamples) {
void TownsPC98_FmSynth::deinit() {
_ready = false;
_mixer->stopHandle(_soundHandle);
- Common::StackLock lock(_mutex);
_timers[0].cb = _timers[1].cb = &TownsPC98_FmSynth::idleTimerCallback;
}