Schedule entire operation for safety

Also removes a redundant list copy.
This commit is contained in:
Bartłomiej Dach
2021-01-19 18:46:21 +01:00
parent 78e590d25d
commit 3b49b7461e

View File

@ -132,10 +132,13 @@ namespace osu.Game.Overlays.Settings.Sections
private void itemUpdated(ValueChangedEvent<WeakReference<SkinInfo>> weakItem)
{
if (weakItem.NewValue.TryGetTarget(out var item))
{
Schedule(() =>
{
List<SkinInfo> newDropdownItems = skinDropdown.Items.Where(i => !i.Equals(item)).Append(item).ToList();
sortUserSkins(newDropdownItems);
Schedule(() => skinDropdown.Items = newDropdownItems.ToArray());
skinDropdown.Items = newDropdownItems;
});
}
}