mirror of
https://github.com/love2d/love.git
synced 2026-08-17 19:23:38 +02:00
Prevent infinite loop when destroying sources (issue #250)
This commit is contained in:
@@ -271,9 +271,9 @@ namespace openal
|
|||||||
if(i != playing.end())
|
if(i != playing.end())
|
||||||
{
|
{
|
||||||
source->stopAtomic();
|
source->stopAtomic();
|
||||||
source->release();
|
|
||||||
available.push(i->second);
|
available.push(i->second);
|
||||||
playing.erase(i++);
|
playing.erase(i++);
|
||||||
|
source->release();
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -65,7 +65,8 @@ namespace openal
|
|||||||
|
|
||||||
Source::~Source()
|
Source::~Source()
|
||||||
{
|
{
|
||||||
pool->stop(this);
|
if (valid)
|
||||||
|
pool->stop(this);
|
||||||
alDeleteBuffers((type == TYPE_STATIC) ? 1 : MAX_BUFFERS, buffers);
|
alDeleteBuffers((type == TYPE_STATIC) ? 1 : MAX_BUFFERS, buffers);
|
||||||
if (decoder)
|
if (decoder)
|
||||||
decoder->release();
|
decoder->release();
|
||||||
|
|||||||
Reference in New Issue
Block a user