Calling Source::stop() in Source::~Source() could result in a infinite recursion when Pool::removeSource released the source object.
@@ -82,7 +82,8 @@ namespace openal
void Source::stop()
{
- pool->stop(this);
+ if (!isStopped())
+ pool->stop(this);
}
void Source::pause()