1
0
mirror of https://github.com/ppy/osu.git synced 2024-11-11 20:07:29 +08:00
osu-lazer/osu.Game/Overlays/SkinEditor
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
..
NonSkinnableScreenPlaceholder.cs Move NonSkinnableScreenPlaceholder to outer scope 2023-03-04 13:22:43 +01:00
SkinBlueprint.cs Fix scale of skin element bounding box 2023-12-21 08:56:39 -03:30
SkinBlueprintContainer.cs Fix double-click handling when cyclic selection is enabled 2023-07-19 17:21:20 +09:00
SkinComponentToolbox.cs Fix skin component toolbox not working correctly for ruleset matching 2023-07-28 15:50:44 +09:00
SkinEditor.cs Fix skin editor crashing when pasting with nothing in clipboard 2023-11-23 09:55:27 +09:00
SkinEditorChangeHandler.cs Trim comments 2023-05-03 19:22:52 +02:00
SkinEditorOverlay.cs Fix SkinEditorOverlay freezing when ReplayPlayer screen exits early 2023-12-26 12:22:00 -08:00
SkinEditorSceneLibrary.cs Make skin editor overlay dependency nullable to fix tests 2023-11-27 12:09:13 +09:00
SkinSelectionHandler.cs Allow context menus to have visible spacers 2023-11-21 14:24:10 +09:00
SkinSelectionRotationHandler.cs Make SelectionRotationHandler a Component 2023-07-30 20:18:33 +02:00
SkinSettingsToolbox.cs Handle changes to SettingSource skin element settings 2023-02-06 14:42:59 +09:00