diff --git a/osu.Game/Screens/Select/BeatmapCarousel.cs b/osu.Game/Screens/Select/BeatmapCarousel.cs
index 9d7867659d..e877633ab3 100644
--- a/osu.Game/Screens/Select/BeatmapCarousel.cs
+++ b/osu.Game/Screens/Select/BeatmapCarousel.cs
@@ -53,6 +53,11 @@ namespace osu.Game.Screens.Select
public override bool HandleInput => AllowSelection;
+ ///
+ /// Used to avoid firing null selections before the initial beatmaps have been loaded via .
+ ///
+ private bool initialLoadComplete;
+
private IEnumerable beatmapSets => root.Children.OfType();
public IEnumerable BeatmapSets
@@ -76,7 +81,11 @@ namespace osu.Game.Screens.Select
itemsCache.Invalidate();
scrollPositionCache.Invalidate();
- Schedule(() => BeatmapSetsChanged?.Invoke());
+ Schedule(() =>
+ {
+ BeatmapSetsChanged?.Invoke();
+ initialLoadComplete = true;
+ });
}));
}
}
@@ -513,7 +522,7 @@ namespace osu.Game.Screens.Select
currentY += DrawHeight / 2;
scrollableContent.Height = currentY;
- if (selectedBeatmapSet == null || selectedBeatmap == null || selectedBeatmapSet.State.Value != CarouselItemState.Selected)
+ if (initialLoadComplete && (selectedBeatmapSet == null || selectedBeatmap == null || selectedBeatmapSet.State.Value != CarouselItemState.Selected))
{
selectedBeatmapSet = null;
SelectionChanged?.Invoke(null);
diff --git a/osu.Game/Screens/Select/BeatmapInfoWedge.cs b/osu.Game/Screens/Select/BeatmapInfoWedge.cs
index fa1326de8c..729cb458c2 100644
--- a/osu.Game/Screens/Select/BeatmapInfoWedge.cs
+++ b/osu.Game/Screens/Select/BeatmapInfoWedge.cs
@@ -71,10 +71,6 @@ namespace osu.Game.Screens.Select
{
State = beatmap == null ? Visibility.Hidden : Visibility.Visible;
- // ensure we ourselves are visible if not already.
- if (!IsPresent)
- State = Visibility.Visible;
-
Info?.FadeOut(250);
Info?.Expire();