1
0
mirror of https://github.com/ppy/osu.git synced 2024-12-14 20:22:55 +08:00

Fix race due to StopWatchingUser() being called asynchronously

This commit is contained in:
smoogipoo 2021-05-20 19:45:11 +09:00
parent 5a8b8782d3
commit 06c99e8c7c

View File

@ -182,9 +182,13 @@ namespace osu.Game.Online.Spectator
public void StopWatchingUser(int userId)
{
watchingUsers.Remove(userId);
StopWatchingUserInternal(userId);
// This method is most commonly called via Dispose(), which is asynchronous.
// Todo: This should not be a thing, but requires framework changes.
Schedule(() =>
{
watchingUsers.Remove(userId);
StopWatchingUserInternal(userId);
});
}
protected abstract Task BeginPlayingInternal(SpectatorState state);