From fb9f21237ebb66b2e0631975d12d65b4f877c8e7 Mon Sep 17 00:00:00 2001
From: iiSaLMaN <slmanarendo1950@gmail.com>
Date: Sat, 28 Sep 2019 04:18:16 +0300
Subject: [PATCH] Reset track adjustments on resuming from another screen

---
 osu.Game/Overlays/MusicController.cs  | 6 +++---
 osu.Game/Screens/Select/SongSelect.cs | 1 +
 2 files changed, 4 insertions(+), 3 deletions(-)

diff --git a/osu.Game/Overlays/MusicController.cs b/osu.Game/Overlays/MusicController.cs
index db94b0278f..172ae4e5cb 100644
--- a/osu.Game/Overlays/MusicController.cs
+++ b/osu.Game/Overlays/MusicController.cs
@@ -57,7 +57,7 @@ namespace osu.Game.Overlays
         protected override void LoadComplete()
         {
             beatmap.BindValueChanged(beatmapChanged, true);
-            mods.BindValueChanged(_ => updateAudioAdjustments(), true);
+            mods.BindValueChanged(_ => ResetTrackAdjustments(), true);
             base.LoadComplete();
         }
 
@@ -213,12 +213,12 @@ namespace osu.Game.Overlays
             current = beatmap.NewValue;
             TrackChanged?.Invoke(current, direction);
 
-            updateAudioAdjustments();
+            ResetTrackAdjustments();
 
             queuedDirection = null;
         }
 
-        private void updateAudioAdjustments()
+        public void ResetTrackAdjustments()
         {
             var track = current?.Track;
             if (track == null)
diff --git a/osu.Game/Screens/Select/SongSelect.cs b/osu.Game/Screens/Select/SongSelect.cs
index fca801ce78..d40dd9414a 100644
--- a/osu.Game/Screens/Select/SongSelect.cs
+++ b/osu.Game/Screens/Select/SongSelect.cs
@@ -490,6 +490,7 @@ namespace osu.Game.Screens.Select
             BeatmapDetails.Leaderboard.RefreshScores();
 
             Beatmap.Value.Track.Looping = true;
+            music?.ResetTrackAdjustments();
 
             if (Beatmap != null && !Beatmap.Value.BeatmapSetInfo.DeletePending)
             {