1
0
mirror of https://github.com/ppy/osu.git synced 2025-01-14 02:22:56 +08:00

Fix OSD occasionally display incorrect play/pause state

This commit is contained in:
Dean Herbert 2020-09-08 18:12:03 +09:00
parent b1110e5e3a
commit a46be45a71

View File

@ -33,9 +33,11 @@ namespace osu.Game.Overlays.Music
switch (action)
{
case GlobalAction.MusicPlay:
if (musicController.TogglePause())
onScreenDisplay?.Display(new MusicActionToast(musicController.IsPlaying ? "Play track" : "Pause track"));
// use previous state as TogglePause may not update the track's state immediately (state update is run on the audio thread see https://github.com/ppy/osu/issues/9880#issuecomment-674668842)
bool wasPlaying = musicController.IsPlaying;
if (musicController.TogglePause())
onScreenDisplay?.Display(new MusicActionToast(wasPlaying ? "Pause track" : "Play track"));
return true;
case GlobalAction.MusicNext: