diff --git a/OpenRA.Platforms.Default/OpenAlSoundEngine.cs b/OpenRA.Platforms.Default/OpenAlSoundEngine.cs index 65f56f9a0e..711738e361 100644 --- a/OpenRA.Platforms.Default/OpenAlSoundEngine.cs +++ b/OpenRA.Platforms.Default/OpenAlSoundEngine.cs @@ -56,6 +56,12 @@ namespace OpenRA.Platforms.Default var devices = new List(); var next = ALC10.alcGetString(IntPtr.Zero, type); + if (next == IntPtr.Zero || AL10.alGetError() != AL10.AL_NO_ERROR) + { + Log.Write("sound", "Failed to query OpenAL device list using {0}", label); + return new string[] { }; + } + do { var str = Marshal.PtrToStringAnsi(next); @@ -63,12 +69,6 @@ namespace OpenRA.Platforms.Default devices.Add(str); } while (Marshal.ReadByte(next) != 0); - if (AL10.alGetError() != AL10.AL_NO_ERROR) - { - Log.Write("sound", "Failed to query OpenAL device list using {0}", label); - return new string[] { }; - } - return devices.ToArray(); }