From: Unavowed <una...@ve...> - 2010-12-04 14:47:28
|
Seems there's an interesting bug in the game. On my system, on exit, first OpenALAudio::~OpenALAudio() is called, then from Mem::~Mem() I get this: #6 0x000000000040d42b in OpenALAudio::deinit_wav (this=0x808d40) at openal_audio.cpp:277 #7 0x000000000040d06e in OpenALAudio::deinit (this=0x808d40) at openal_audio.cpp:197 #8 0x000000000052380a in Sys::deinit_directx (this=0x809020) at OSYS.cpp:264 #9 0x0000000000404fb4 in Error::msg (this=0x8076b0, format=0x5b9258 "Memory not freed. File name : %s, line no. : %d \n") at OERROR.cpp:204 #10 0x0000000000405b44 in ~Mem (this=0x8076a0, __in_chrg=<value optimized out>) at OMEM.cpp:399 Meaning that, indirectly, the destructor of Mem calls OpenALAudio functions on an already destroyed object, leading to an abort and error message: err:fatal: Memory not freed. File name : ODYNARR.cpp, line no. : 46 pure virtual method called terminate called without an active exception Program received signal SIGABRT, Aborted. I'm not that interested in fixing this right now, but thought I'd point it out for later reference. -- Unavowed |