diff --git a/Barotrauma/BarotraumaClient/Source/Sounds/SoundChannel.cs b/Barotrauma/BarotraumaClient/Source/Sounds/SoundChannel.cs index a69f4b102..7a33aaad2 100644 --- a/Barotrauma/BarotraumaClient/Source/Sounds/SoundChannel.cs +++ b/Barotrauma/BarotraumaClient/Source/Sounds/SoundChannel.cs @@ -325,7 +325,9 @@ namespace Barotrauma.Sounds if (ALSourceIndex < 0) return false; if (IsStream && !reachedEndSample) return true; int state; - Al.GetSourcei(Sound.Owner.GetSourceFromIndex(Sound.SourcePoolIndex, ALSourceIndex), Al.SourceState, out state); + uint alSource = Sound.Owner.GetSourceFromIndex(Sound.SourcePoolIndex, ALSourceIndex); + if (!Al.IsSource(alSource)) return false; + Al.GetSourcei(alSource, Al.SourceState, out state); bool playing = state == Al.Playing; int alError = Al.GetError(); if (alError != Al.NoError) diff --git a/Barotrauma/BarotraumaClient/libfreetype.6.dylib b/Barotrauma/BarotraumaClient/libfreetype.6.dylib new file mode 100644 index 000000000..2a8285484 Binary files /dev/null and b/Barotrauma/BarotraumaClient/libfreetype.6.dylib differ