mirror of
https://github.com/ppy/osu.git
synced 2024-09-22 14:07:25 +08:00
Fix possible incorrect order of events due to threaded load
This commit is contained in:
parent
b2066c5d73
commit
40ed3fdd05
@ -96,27 +96,29 @@ namespace osu.Game.Overlays.Direct
|
|||||||
{
|
{
|
||||||
if (!Playing.Value)
|
if (!Playing.Value)
|
||||||
{
|
{
|
||||||
if (Preview == null)
|
if (Preview != null)
|
||||||
{
|
{
|
||||||
loading = true;
|
Preview.Start();
|
||||||
|
|
||||||
Preview = previewTrackManager.Get(beatmapSet);
|
|
||||||
Preview.Started += () => Playing.Value = true;
|
|
||||||
Preview.Stopped += () => Playing.Value = false;
|
|
||||||
|
|
||||||
LoadComponentAsync(Preview, t =>
|
|
||||||
{
|
|
||||||
AddInternal(t);
|
|
||||||
|
|
||||||
Preview.Start();
|
|
||||||
|
|
||||||
loading = false;
|
|
||||||
});
|
|
||||||
|
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
Preview.Start();
|
loading = true;
|
||||||
|
|
||||||
|
var loadingPreview = previewTrackManager.Get(beatmapSet);
|
||||||
|
loadingPreview.Started += () => Playing.Value = true;
|
||||||
|
loadingPreview.Stopped += () => Playing.Value = false;
|
||||||
|
|
||||||
|
LoadComponentAsync(Preview = loadingPreview, t =>
|
||||||
|
{
|
||||||
|
if (Preview != loadingPreview)
|
||||||
|
return;
|
||||||
|
|
||||||
|
AddInternal(t);
|
||||||
|
|
||||||
|
Preview.Start();
|
||||||
|
|
||||||
|
loading = false;
|
||||||
|
});
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
Preview?.Stop();
|
Preview?.Stop();
|
||||||
|
Loading…
Reference in New Issue
Block a user