1
0
mirror of https://github.com/ppy/osu.git synced 2024-12-14 17:32:54 +08:00

Merge pull request #1787 from FreezyLemon/fix-carousel-selectnext-crash

Fix crash on rapid selection at song select
This commit is contained in:
Dean Herbert 2017-12-28 13:22:16 +09:00 committed by GitHub
commit 9009fb16d5
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -194,7 +194,14 @@ namespace osu.Game.Screens.Select
if (!Items.Any()) if (!Items.Any())
return; return;
int originalIndex = Items.IndexOf(selectedBeatmap?.Drawables.First()); DrawableCarouselItem drawable = null;
if (selectedBeatmap != null && (drawable = selectedBeatmap.Drawables.FirstOrDefault()) == null)
// if the selected beatmap isn't present yet, we can't correctly change selection.
// we can fix this by changing this method to not reference drawables / Items in the first place.
return;
int originalIndex = Items.IndexOf(drawable);
int currentIndex = originalIndex; int currentIndex = originalIndex;
// local function to increment the index in the required direction, wrapping over extremities. // local function to increment the index in the required direction, wrapping over extremities.