dhewm3/neo
Daniel Gibson 13ac657ebf Make deleting listenerSlot in idSoundWorldLocal::Shutdown() work
the problem was that the sources were still associated to it, because
they get deleted after the listenerSlot: the sources get freed in
idSoundSystemLocal::Shutdown() which is called by
idCommonLocal::ShutdownGame() in line 3217,
while the listenerSlot is deleted via idSessionLocal::Shutdown()
-> delete sw/rw -> idSoundWorldLocal::~idSoundWorldLocal()
-> idSoundWorldLocal::Shutdown() - and idSessionLocal::Shutdown() is
called in idCommonLocal::ShutdownGame() line 3211, before the other.

I'm not gonna mess with the order of deleting things in ShutdownGame(),
but it's sufficient to unassociate the effect slot from the source
when destroying the emitters in idSoundWorldLocal::Shutdown(),
by adding a call for that to idSoundChannel::ALStop() - and destroying
the emitters before deleting listenerSlot.

Before this fix, with ALSOFT_LOGLEVEL=3 you got the following warning:
  (WW) Error generated on context 0x5578fce2a280, code 0xa004,
  "Deleting in-use effect slot 1"
Thanks for openal-soft's KittyCat for pointing this out!
2021-04-12 19:17:12 +02:00
..
cm Disable Assertions in Release builds 2018-11-11 23:21:23 +01:00
d3xp Set ENGINE_VERSION to 1.5.1, remove usage of C++11 nullptr 2021-03-14 03:43:58 +01:00
framework Update ENGINE_VERSION to 1.5.2pre 2021-04-08 04:13:08 +02:00
game Set ENGINE_VERSION to 1.5.1, remove usage of C++11 nullptr 2021-03-14 03:43:58 +01:00
idlib Silence an uninitialized variable warning 2021-03-15 13:02:45 +02:00
MayaImport s/LittleLong/LittleInt/ to match the return type 2012-06-28 13:02:47 +02:00
renderer Fix uninitialized members of drawInteraction_t in RB_CreateSingleDrawInteractions 2021-04-12 19:13:39 +02:00
sound Make deleting listenerSlot in idSoundWorldLocal::Shutdown() work 2021-04-12 19:17:12 +02:00
sys Revert "Use SDL2's own SDL2.cmake." 2021-01-24 04:10:18 +01:00
tools Try to enforce selected fullscreen resolution 2021-01-15 18:24:48 +01:00
TypeInfo Get rid of Sys_FPU_StackIsEmpty() 2012-07-06 01:06:53 +02:00
ui Fixed SIGSEGV caused to references to already deleted data values in idWindow ops and updateVars 2020-05-30 05:28:40 +02:00
CMakeLists.txt Fix Win32/VS build on Win64 hosts 2021-02-22 02:48:39 +01:00
config.h.in Introduce CMAKE_INSTALL_PREFIX relative paths 2012-07-04 02:18:42 +02:00
mmakefile.src # move the AROS specific folder icon and default.cfg mmakefile.src under neo/sys/aros/setup 2017-04-22 16:21:14 +02:00