1
0
mirror of https://github.com/ppy/osu.git synced 2024-12-17 06:42:54 +08:00
osu-lazer/osu.Game/Screens/Play
rushiiMachine 1d4db3b7a9
Fix SkinEditorOverlay freezing when ReplayPlayer screen exits early
Originally when popping in, the ReplayPlayer was loaded first (if previous screen was MainMenu), and afterwards the SkinEditor component was loaded asynchronously. However, if the ReplayPlayer screen exits quickly (like in the event the beatmap has no objects), the skin editor component has not finished initializing (this is before it was even added to the component tree, so it's still not marked `Visible`), then the screen exiting will cause `OsuGame` to call SetTarget(newScreen) -> setTarget(...) which sees that the cached `skinEditor` is not visible yet, and hides/nulls the field. This is the point where LoadComponentAsync(editor, ...) finishes, and the callback sees that the cached skinEditor field is now different (null) than the one that was loaded, and never adds it to the component tree. This occurrence is unhandled and as such the SkinEditorOverlay never hides itself, consuming all input infinitely.

This PR changes the loading to start loading the ReplayPlayer *after* the SkinEditor has been loaded and added to the component tree.
Additionally, this lowers the exit delay for ReplayPlayer and changes the "no hit objects" notification to not be an error since it's a controlled exit.
2023-12-26 12:22:00 -08:00
..
Break Fix valueText being replaced even if current is not binding to anything 2023-08-02 09:40:22 -07:00
HUD Merge pull request #25673 from frenzibyte/fix-argon-initial-display 2023-12-13 22:16:34 +09:00
PlayerSettings Add conditions to match stable offset adjust limitations 2023-12-24 02:36:27 +09:00
ArgonKeyCounter.cs Use left aligned text for non-rotate key counter 2023-11-06 16:32:12 +09:00
ArgonKeyCounterDisplay.cs Refactor KeyCounterDisplay to use autosize 2023-11-12 17:19:25 +09:00
BeatmapMetadataDisplay.cs Refactor IWorkingBeatmap.Background to GetBackground() 2023-06-08 16:19:32 +09:00
BreakOverlay.cs Fix valueText being replaced even if current is not binding to anything 2023-08-02 09:40:22 -07:00
BreakTracker.cs Partial everything 2022-11-27 00:00:27 +09:00
ComboEffects.cs Replace various local implementations of rewinding checks with new property 2023-07-07 15:21:24 +09:00
DimmableStoryboard.cs Partial everything 2022-11-27 00:00:27 +09:00
EpilepsyWarning.cs Partial everything 2022-11-27 00:00:27 +09:00
FailAnimationContainer.cs Rename FailAnimation to FailAnimationContainer 2023-10-08 00:39:30 +09:00
FailOverlay.cs Don't show buttons on fail overlay when player interaction is disabled 2023-11-27 12:25:24 +09:00
GameplayClockContainer.cs Cache GameplayClockContainer to allow usage of OnSeek 2023-12-13 16:13:08 +09:00
GameplayClockExtensions.cs Rename GameplayAdjustments -> AdjustmentsFromMods 2022-09-08 17:14:06 +09:00
GameplayMenuOverlay.cs GameplayMenuOverlay.cs: add translatable strings for Retry count: and Song progress: 2023-05-27 12:47:05 +02:00
GameplayOffsetControl.cs Disable positional interaction for now 2023-12-24 03:00:51 +09:00
GameplayState.cs Fix TestSceneReplayRecorder not using score provided by gameplay state 2022-07-25 05:21:27 +03:00
HotkeyExitOverlay.cs Automated pass 2023-06-24 01:00:03 +09:00
HotkeyRetryOverlay.cs Automated pass 2023-06-24 01:00:03 +09:00
HUDOverlay.cs Merge branch 'master' into leaderboard-toggle 2023-08-10 22:50:55 +02:00
IGameplayClock.cs Expose rewinding state of IGameplayClocks 2023-07-06 19:08:42 +09:00
ILocalUserPlayInfo.cs Automated pass 2023-06-24 01:00:03 +09:00
MasterGameplayClockContainer.cs Fix elapsed time being counted twice on first frame 2023-12-27 00:11:22 +09:00
OffsetCorrectionClock.cs Split OffsetCorrectionClock out of MasterGameplayClockContainer 2022-08-18 18:54:10 +09:00
PauseOverlay.cs Actually use paused header 2023-05-29 10:24:59 +09:00
Player.cs Fix SkinEditorOverlay freezing when ReplayPlayer screen exits early 2023-12-26 12:22:00 -08:00
PlayerConfiguration.cs Automated pass 2023-06-24 01:00:03 +09:00
PlayerLoader.cs Remove dead code which was only there for the exit-specific scenario 2023-10-12 19:27:35 +09:00
PlayerTouchInputDetector.cs Fix PlayerTouchInputDetector applying touch device mod when other inactive mods present 2023-11-09 17:51:01 +09:00
ReplayPlayer.cs Allow autoplay to fail 2023-07-13 13:41:35 +09:00
ReplayPlayerLoader.cs Automated pass 2023-06-24 01:00:03 +09:00
ResumeOverlay.cs Partial everything 2022-11-27 00:00:27 +09:00
RoomSubmittingPlayer.cs Partial everything 2022-11-27 00:00:27 +09:00
SaveFailedScoreButton.cs Prevent ExportReplay being spammed on fail by being held down 2023-12-20 08:41:16 -08:00
ScreenSuspensionHandler.cs Partial everything 2022-11-27 00:00:27 +09:00
ScreenWithBeatmapBackground.cs Fix song select potentially updating background parameters when not the current screen 2023-02-16 18:45:22 +09:00
SkipOverlay.cs Fix various other inspections 2023-10-17 17:48:51 +09:00
SoloPlayer.cs Silence a few remaining nullability warnings 2023-07-04 22:39:26 +02:00
SoloSpectatorPlayer.cs Add visualisation of when a spectated player fails 2023-11-24 14:44:57 +09:00
SoloSpectatorScreen.cs Add extra test coverage and handle case where still at loading screen 2023-11-24 15:05:39 +09:00
SpectatorPlayer.cs Show back button when spectating 2023-12-15 11:26:17 +09:00
SpectatorPlayerLoader.cs Automated pass 2023-06-24 01:00:03 +09:00
SpectatorResultsScreen.cs Manual fixes to reduce warnings to zero 2023-06-24 01:52:53 +09:00
SquareGraph.cs Fix some new nullable inspections 2023-10-30 15:10:10 +09:00
SubmittingPlayer.cs Bail from score submission if audio playback rate is too far from reality 2023-12-26 19:20:58 +09:00