1
0
mirror of https://github.com/ppy/osu.git synced 2024-11-07 13:47:33 +08:00
osu-lazer/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 Fix disclaimer potentially running same code from two different threads 2020-10-06 12:33:57 +09:00
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 Add spaces to comments 2020-05-04 18:36:24 -07:00
BackgroundScreenStack.cs Turn on warnings, resolve issues 2019-04-25 17:36:17 +09:00
IOsuScreen.cs Extract UserActivity logic to OsuGame. 2020-11-08 12:29:52 +01:00
Loader.cs Add original sprite and visualiser 2020-06-02 21:06:41 +02:00
OsuScreen.cs Apply review suggestions. 2020-11-09 13:39:50 +01:00
OsuScreenDependencies.cs Fix OsuScreenDependencies not caching non-leased versions 2019-12-13 20:05:54 +09:00
OsuScreenStack.cs Simplify the way multiple subscreens handle their disable states via a custom stack 2020-02-06 14:22:01 +09:00
ScorePresentType.cs Update class exclusion for dynamic compilation 2020-09-04 20:41:08 +09:00
ScreenWhiteBox.cs .NET Standard 2.1 implements Math.Clamp , use it instead of MathHelper.Clamp from osuTK. 2019-11-20 13:37:47 +01:00
StartupScreen.cs Cast base immutable bindable to mutable for testing purposes and make InitialOverlayActivationMode property protected 2020-08-31 11:26:55 +02:00