Преглед на файлове

Fix a crash when a Source stops playing.

--HG--
branch : minor
Alex Szpakowski преди 8 години
родител
ревизия
a854602344
променени са 1 файла, в които са добавени 8 реда и са изтрити 1 реда
  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