diff --git a/Ryujinx/Ui/SettingsWindow.cs b/Ryujinx/Ui/SettingsWindow.cs index a278f094..493260c3 100644 --- a/Ryujinx/Ui/SettingsWindow.cs +++ b/Ryujinx/Ui/SettingsWindow.cs @@ -11,6 +11,7 @@ using System.Diagnostics; using System.IO; using System.Linq; using System.Reflection; +using System.Threading.Tasks; using GUI = Gtk.Builder.ObjectAttribute; @@ -198,15 +199,32 @@ namespace Ryujinx.Ui _systemTimeZoneSelect.Append(locationName, locationName); } - _audioBackendSelect.Append(AudioBackend.Dummy.ToString(), AudioBackend.Dummy.ToString()); - if (SoundIoAudioOut.IsSupported) - _audioBackendSelect.Append(AudioBackend.SoundIo.ToString(), "SoundIO"); - if (OpenALAudioOut.IsSupported) - _audioBackendSelect.Append(AudioBackend.OpenAl.ToString(), "OpenAL"); + Task.Run(() => + { + if (SoundIoAudioOut.IsSupported) + { + Application.Invoke(delegate + { + _audioBackendSelect.Append(AudioBackend.SoundIo.ToString(), "SoundIO"); + }); + } + + if (OpenALAudioOut.IsSupported) + { + Application.Invoke(delegate + { + _audioBackendSelect.Append(AudioBackend.OpenAl.ToString(), "OpenAL"); + }); + } + + Application.Invoke(delegate + { + _audioBackendSelect.SetActiveId(ConfigurationState.Instance.System.AudioBackend.Value.ToString()); + }); + }); _systemLanguageSelect.SetActiveId(ConfigurationState.Instance.System.Language.Value.ToString()); _systemRegionSelect.SetActiveId(ConfigurationState.Instance.System.Region.Value.ToString()); - _audioBackendSelect.SetActiveId(ConfigurationState.Instance.System.AudioBackend.Value.ToString()); _systemTimeZoneSelect.SetActiveId(timeZoneContentManager.SanityCheckDeviceLocationName()); _resScaleCombo.SetActiveId(ConfigurationState.Instance.Graphics.ResScale.Value.ToString()); _anisotropy.SetActiveId(ConfigurationState.Instance.Graphics.MaxAnisotropy.Value.ToString()); diff --git a/Ryujinx/Ui/SettingsWindow.glade b/Ryujinx/Ui/SettingsWindow.glade index 1e91011e..d4877a3a 100644 --- a/Ryujinx/Ui/SettingsWindow.glade +++ b/Ryujinx/Ui/SettingsWindow.glade @@ -1494,6 +1494,10 @@ False Change Audio Backend 5 + Dummy + + Dummy + False