diff --git a/osu.Game/Screens/Play/Player.cs b/osu.Game/Screens/Play/Player.cs index 7cee080f61..d0f2e2be5a 100644 --- a/osu.Game/Screens/Play/Player.cs +++ b/osu.Game/Screens/Play/Player.cs @@ -315,24 +315,23 @@ protected override void OnEntering(Screen last) protected override void OnSuspending(Screen next) { fadeOut(); - base.OnSuspending(next); } protected override bool OnExiting(Screen next) { - if (HasFailed || !ValidForResume) - return false; - - if (pauseOverlay != null && !HitRenderer.HasReplayLoaded) + if (!HasFailed && ValidForResume) { - //pause screen override logic. - if (pauseOverlay?.State == Visibility.Hidden && !canPause) return true; - - if (!IsPaused) // For if the user presses escape quickly when entering the map + if (pauseOverlay != null && !HitRenderer.HasReplayLoaded) { - Pause(); - return true; + //pause screen override logic. + if (pauseOverlay?.State == Visibility.Hidden && !canPause) return true; + + if (!IsPaused) // For if the user presses escape quickly when entering the map + { + Pause(); + return true; + } } }