Fix love.audio.play(staticsources) when the sources have been paused. Resolves issue #1363.

This commit is contained in:
Alex Szpakowski
2017-12-27 12:27:12 -04:00
parent 7ff428b64f
commit 1f52abf619
+12 -4
View File
@@ -1000,11 +1000,19 @@ bool Source::play(const std::vector<love::audio::Source*> &sources)
toPlay.reserve(sources.size());
for (size_t i = 0; i < sources.size(); i++)
{
if (wasPlaying[i])
// If the source was paused, wasPlaying[i] will be true but we still
// want to resume it. We don't want to call alSourcePlay on sources
// that are actually playing though.
if (wasPlaying[i] && sources[i]->isPlaying())
continue;
Source *source = (Source*) sources[i];
source->source = ids[i];
source->prepareAtomic();
if (!wasPlaying[i])
{
Source *source = (Source*) sources[i];
source->source = ids[i];
source->prepareAtomic();
}
toPlay.push_back(ids[i]);
}