osu/osu.Game/Screens
Dean Herbert 11cf04eed1 Fix frames potentially getting added to spectator replay in wrong format
The way spectator currently works, the `Spectator` screen is responsible
for adding new frames to the replay, even when it has a child
(`SpectatorPlayer`) present.

There was a possibility that a new play had already started, and on
returning to the Spectator screen (to initialise the new play) there
would be a brief period where the Player instance is still reading from
the replay, the `userBeganPlaying` call had not yet finished
initialising the new target replay, and `userSentFrames` is run
(asynchronously), writing frames to the previous replay using the
incorrect ruleset instance).

To make this work, it doesn't `Schedule` frame addition to the replay
(making things a bit unsafe). Changing this itself isn't such a simple
one to do, so I instead opted to fix this via locking.

Closes https://github.com/ppy/osu/issues/10777.
2020-11-11 13:39:43 +09:00
..
Backgrounds Fix potential null reference when loading background 2020-10-31 22:51:35 +09:00
Edit Temporarily fix crash on deleting control point groups 2020-11-10 21:32:47 +01:00
Menu
Multi Add user activities to multi subscreens. 2020-11-08 13:21:21 +01:00
Play Fix frames potentially getting added to spectator replay in wrong format 2020-11-11 13:39:43 +09:00
Ranking Remove synchronous lookup path from BeatmapDifficultyCache 2020-11-06 14:53:15 +09:00
Select Rename BeatmapDifficultyManager to BeatmapDifficultyCache 2020-11-06 13:14:29 +09:00
BackgroundScreen.cs
BackgroundScreenStack.cs
IOsuScreen.cs Extract UserActivity logic to OsuGame. 2020-11-08 12:29:52 +01:00
Loader.cs
OsuScreen.cs Apply review suggestions. 2020-11-09 13:39:50 +01:00
OsuScreenDependencies.cs
OsuScreenStack.cs
ScorePresentType.cs
ScreenWhiteBox.cs
StartupScreen.cs