mirror of https://github.com/ppy/osu
Merge pull request #24548 from peppy/fix-score-copy-instability
Fix score being cloned in async method causing random crashes
This commit is contained in:
commit
4e96853c75
|
@ -810,10 +810,13 @@ private Task<ScoreInfo> prepareAndImportScoreAsync(bool forceImport = false)
|
|||
if (!canShowResults && !forceImport)
|
||||
return Task.FromResult<ScoreInfo>(null);
|
||||
|
||||
// Clone score before beginning any async processing.
|
||||
// - Must be run synchronously as the score may potentially be mutated in the background.
|
||||
// - Must be cloned for the same reason.
|
||||
Score scoreCopy = Score.DeepClone();
|
||||
|
||||
return prepareScoreForDisplayTask = Task.Run(async () =>
|
||||
{
|
||||
var scoreCopy = Score.DeepClone();
|
||||
|
||||
try
|
||||
{
|
||||
await PrepareScoreForResultsAsync(scoreCopy).ConfigureAwait(false);
|
||||
|
|
Loading…
Reference in New Issue