mirror of
https://github.com/ppy/osu
synced 2025-03-20 01:49:41 +00:00
Merge branch 'master' into judgement-revamp
This commit is contained in:
commit
f4a2ffbeea
@ -1 +1 @@
|
||||
Subproject commit 1b479fb947da193f099df062f696b3a6164da9e0
|
||||
Subproject commit 1a259925b82c31ddcebf7b330a6ef9d3a9daf089
|
@ -109,10 +109,17 @@ namespace osu.Game.Beatmaps
|
||||
|
||||
public virtual void Dispose()
|
||||
{
|
||||
track?.Dispose();
|
||||
track = null;
|
||||
background?.Dispose();
|
||||
background = null;
|
||||
}
|
||||
|
||||
public void DisposeTrack()
|
||||
{
|
||||
lock (trackLock)
|
||||
{
|
||||
track?.Dispose();
|
||||
track = null;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -152,10 +152,19 @@ namespace osu.Game
|
||||
|
||||
Beatmap.ValueChanged += b =>
|
||||
{
|
||||
var trackLoaded = lastBeatmap?.TrackLoaded ?? false;
|
||||
|
||||
// compare to last beatmap as sometimes the two may share a track representation (optimisation, see WorkingBeatmap.TransferTo)
|
||||
if (lastBeatmap?.Track != b.Track)
|
||||
if (!trackLoaded || lastBeatmap?.Track != b.Track)
|
||||
{
|
||||
lastBeatmap?.Track?.Dispose();
|
||||
if (trackLoaded)
|
||||
{
|
||||
Debug.Assert(lastBeatmap != null);
|
||||
Debug.Assert(lastBeatmap.Track != null);
|
||||
|
||||
lastBeatmap.DisposeTrack();
|
||||
}
|
||||
|
||||
Audio.Track.AddItem(b.Track);
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user