1
0
mirror of https://github.com/ppy/osu.git synced 2024-12-14 07:42:57 +08:00

Ensure pause sample loop is stopped on exiting player

This commit is contained in:
Dean Herbert 2023-02-06 18:22:51 +09:00
parent c078d3a344
commit b83c8443ea
2 changed files with 11 additions and 0 deletions

View File

@ -44,6 +44,14 @@ namespace osu.Game.Screens.Play
});
}
public void StopAllSamples()
{
if (!IsLoaded)
return;
pauseLoop.Stop();
}
protected override void PopIn()
{
base.PopIn();

View File

@ -1073,7 +1073,10 @@ namespace osu.Game.Screens.Play
public override bool OnExiting(ScreenExitEvent e)
{
screenSuspension?.RemoveAndDisposeImmediately();
// Eagerly clean these up as disposal of child components is asynchronous and may leave sounds playing beyond user expectations.
failAnimationLayer?.Stop();
PauseOverlay.StopAllSamples();
if (LoadedBeatmapSuccessfully)
{