diff --git a/src/sound_openal.cpp b/src/sound_openal.cpp index cc5261eaeb82619ee2eb4ab3051466ab1c3500d5..0cfbc279829a95978c94979d3339eb4be67332d8 100644 --- a/src/sound_openal.cpp +++ b/src/sound_openal.cpp @@ -271,6 +271,16 @@ class OpenALSoundManager: public ISoundManager m_context = NULL; alcCloseDevice(m_device); m_device = NULL; + + for (std::map<std::string, std::vector<SoundBuffer*> >::iterator i = m_buffers.begin(); + i != m_buffers.end(); i++) { + for (std::vector<SoundBuffer*>::iterator iter = (*i).second.begin(); + iter != (*i).second.end(); iter++) { + delete *iter; + } + (*i).second.clear(); + } + m_buffers.clear(); infostream<<"Audio: Deinitialized."<<std::endl; }