From e47383a4fab4e5704e3a3f6035f3bad2f7de2394 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Matthias=20Mail=C3=A4nder?= Date: Sun, 24 Apr 2016 20:49:24 +0200 Subject: [PATCH] Fix NREs in QueryDevices by bailing out early. --- OpenRA.Platforms.Default/OpenAlSoundEngine.cs | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) 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(); }