Fixed immortal Sources.

This commit is contained in:
rude
2009-09-14 21:47:08 +02:00
parent e30e28eb6c
commit 3df85df1c1
2 changed files with 8 additions and 4 deletions
-4
View File
@@ -106,9 +106,6 @@ namespace openal
// Insert into map of playing sources.
playing.insert(std::pair<love::audio::Source *, ALuint>(source, s));
// Retain the source.
source->retain();
}
UNLOCK(mutex);
@@ -124,7 +121,6 @@ namespace openal
{
available.push(s);
playing.erase(source);
source->release();
}
UNLOCK(mutex);
}
+8
View File
@@ -43,6 +43,7 @@ namespace openal
Source::~Source()
{
stop();
}
void Source::play()
@@ -74,6 +75,7 @@ namespace openal
alSourceStop(source);
audible->stop(this);
source = 0;
pool->release(this);
}
}
@@ -113,6 +115,12 @@ namespace openal
void Source::update()
{
if(isFinished())
{
stop();
return;
}
if(audible != 0)
audible->update(this);
}