diff options
Diffstat (limited to 'audio')
-rw-r--r-- | audio/softsynth/fluidsynth.cpp | 11 |
1 files changed, 7 insertions, 4 deletions
diff --git a/audio/softsynth/fluidsynth.cpp b/audio/softsynth/fluidsynth.cpp index 5c14f33a60..4034b2ffc3 100644 --- a/audio/softsynth/fluidsynth.cpp +++ b/audio/softsynth/fluidsynth.cpp @@ -87,18 +87,21 @@ MidiDriver_FluidSynth::MidiDriver_FluidSynth(Audio::Mixer *mixer) _outputRate = 96000; } +// The string duplication below is there only because older versions (1.1.6 +// and earlier?) of FluidSynth expected the string parameters to be non-const. + void MidiDriver_FluidSynth::setInt(const char *name, int val) { char *name2 = scumm_strdup(name); fluid_settings_setint(_settings, name2, val); - free(name2); + delete[] name2; } void MidiDriver_FluidSynth::setNum(const char *name, double val) { char *name2 = scumm_strdup(name); fluid_settings_setnum(_settings, name2, val); - free(name2); + delete[] name2; } void MidiDriver_FluidSynth::setStr(const char *name, const char *val) { @@ -106,8 +109,8 @@ void MidiDriver_FluidSynth::setStr(const char *name, const char *val) { char *val2 = scumm_strdup(val); fluid_settings_setstr(_settings, name2, val2); - free(name2); - free(val2); + delete[] name2; + delete[] val2; } int MidiDriver_FluidSynth::open() { |