Browse Source

Fix a crash when a Source stops playing.

--HG--
branch : minor
Alex Szpakowski 8 years ago
parent
commit
a854602344
1 changed files with 8 additions and 1 deletions
  1. 8 1
      src/modules/audio/openal/Pool.cpp

+ 8 - 1
src/modules/audio/openal/Pool.cpp

@@ -103,9 +103,16 @@ void Pool::update()
 {
 	thread::Lock lock(mutex);
 
+	std::vector<Source *> torelease;
+
 	for (const auto &i : playing)
+	{
 		if (!i.first->update())
-			releaseSource(i.first);
+			torelease.push_back(i.first);
+	}
+
+	for (Source *s : torelease)
+		releaseSource(s);
 }
 
 int Pool::getSourceCount() const