diff options
author | Joerg Mueller <nexyon@gmail.com> | 2011-07-13 16:16:45 +0400 |
---|---|---|
committer | Joerg Mueller <nexyon@gmail.com> | 2011-07-13 16:16:45 +0400 |
commit | f12614234a02bee3daa118d429bc37e5be4b932c (patch) | |
tree | 2bb1ba15c086ce267b5ebb396f40a7b2fff1bd02 /intern/audaspace/OpenAL | |
parent | fa78d3271f538199332984cac8b98386ec17845e (diff) |
3D Audio GSoC:
* Fixed a warning in AUD_DoubleReader.cpp
* Removed some unneeded includes
* Fixed a bug resulting in a crash when stopping a sound
* Fixed a bug where a NaN resulted in a horrible memory error
* Fixed a typo bug which caused crackling in audio playback and export
* Added memory debugging code (ifdefed)
Diffstat (limited to 'intern/audaspace/OpenAL')
-rw-r--r-- | intern/audaspace/OpenAL/AUD_OpenALDevice.cpp | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/intern/audaspace/OpenAL/AUD_OpenALDevice.cpp b/intern/audaspace/OpenAL/AUD_OpenALDevice.cpp index 3b306d89d7b..65b1d3f3b64 100644 --- a/intern/audaspace/OpenAL/AUD_OpenALDevice.cpp +++ b/intern/audaspace/OpenAL/AUD_OpenALDevice.cpp @@ -178,10 +178,14 @@ bool AUD_OpenALDevice::AUD_OpenALHandle::stop() m_device->lock(); + // AUD_XXX Create a reference of our own object so that it doesn't get + // deleted before the end of this function + AUD_Reference<AUD_OpenALHandle> This = this; + if(m_status == AUD_STATUS_PLAYING) - m_device->m_playingSounds.remove(this); + m_device->m_playingSounds.remove(This); else - m_device->m_pausedSounds.remove(this); + m_device->m_pausedSounds.remove(This); m_device->unlock(); |