Game Development Community

TGEA 1.7.1 ~SFXDSDevice() bugfix

by asmaloney (Andy) · in Torque Game Engine Advanced · 09/23/2008 (6:08 pm) · 1 replies

A crash on exit problem. In ~SFXDSDevice(), the SFXDSVoices need to be deleted before the SFXDSBuffers since ~SFXDSVoice() uses mBuffer.

Simply reorder the deletion in the destructor:

SFXDSDevice::~SFXDSDevice()
{
   SFXDSVoiceVector::iterator voice = mVoices.begin();
   for ( ; voice != mVoices.end(); voice++ )
      delete (*voice);
   mVoices.clear();

   SFXDSBufferVector::iterator buffer = mBuffers.begin();
   for ( ; buffer != mBuffers.end(); buffer++ )
      delete (*buffer);
   mBuffers.clear();
...

Thanks Tom for confirming this!