1
0
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:
smoogipoo 2018-06-21 18:45:32 +09:00
parent b2066c5d73
commit 40ed3fdd05

View File

@ -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();