Avalonia - Use loaded config when assigning controller input (#3447)

* Use loaded config when assigning controller input

* Fix crash when switch player in controller window
This commit is contained in:
Emmanuel Hansen 2022-07-08 18:28:45 +00:00 committed by GitHub
parent d86a116e1e
commit bccf5e8b5a
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -8,6 +8,7 @@ using Avalonia.Threading;
using Avalonia.VisualTree; using Avalonia.VisualTree;
using Ryujinx.Ava.Common.Locale; using Ryujinx.Ava.Common.Locale;
using Ryujinx.Ava.Ui.Controls; using Ryujinx.Ava.Ui.Controls;
using Ryujinx.Ava.Ui.Models;
using Ryujinx.Ava.Ui.ViewModels; using Ryujinx.Ava.Ui.ViewModels;
using Ryujinx.Common.Configuration.Hid; using Ryujinx.Common.Configuration.Hid;
using Ryujinx.Common.Configuration.Hid.Controller; using Ryujinx.Common.Configuration.Hid.Controller;
@ -127,9 +128,7 @@ namespace Ryujinx.Ava.Ui.Windows
} }
else if (device.Type == Models.DeviceType.Controller) else if (device.Type == Models.DeviceType.Controller)
{ {
InputConfig config = ConfigurationState.Instance.Hid.InputConfig.Value.Find(inputConfig => inputConfig.Id == ViewModel.SelectedGamepad.Id); assigner = new GamepadButtonAssigner(ViewModel.SelectedGamepad, (ViewModel.Config as StandardControllerInputConfig).TriggerThreshold, forStick);
assigner = new GamepadButtonAssigner(ViewModel.SelectedGamepad, (config as StandardControllerInputConfig).TriggerThreshold, forStick);
} }
else else
{ {
@ -184,8 +183,8 @@ namespace Ryujinx.Ava.Ui.Windows
if (e.AddedItems.Count > 0) if (e.AddedItems.Count > 0)
{ {
(PlayerIndex key, _) = (KeyValuePair<PlayerIndex, string>)e.AddedItems[0]; var player = (PlayerModel)e.AddedItems[0];
ViewModel.PlayerId = key; ViewModel.PlayerId = player.Id;
} }
} }
} }