1
0
mirror of https://github.com/ppy/osu.git synced 2024-09-23 00:07:24 +08:00
osu-lazer/osu.Game/Screens/OnlinePlay
Bartłomiej Dach 8c3955d341 Improve safety of ongoing operation tracker
Finishing an operation started via
`OngoingOperationTracker.BeginOperation()` was risky in cases where the
operation ended at a callback on another thread (which, in the case of
multiplayer, is *most* cases). In particular, if any consumer registered
a callback that mutates transforms when the operation ends, it would
result in crashes after the framework-side safety checks.

Rework `OngoingOperationTracker` into an always-present component
residing in the drawable hierarchy, and ensure that the
`operationInProgress` bindable is always updated on the update thread.
This way consumers don't have to add local schedules in multiple places.
2021-01-09 22:45:24 +01:00
..
Components Remove hacky code 2021-01-05 14:54:59 +09:00
Lounge Merge branch 'master' into disable-repeat-multi-actions 2021-01-09 10:15:20 +09:00
Match Rename {Multiplayer -> OnlinePlay}Composite 2020-12-25 18:07:34 +01:00
Multiplayer Merge branch 'master' into disable-repeat-multi-actions 2021-01-09 10:15:20 +09:00
Playlists Refactor LoadingLayer to avoid applying effects to external drawables 2021-01-05 17:31:45 +09:00
DrawableRoomPlaylist.cs Re-namespace all files in OnlinePlay directory 2020-12-25 16:50:09 +01:00
DrawableRoomPlaylistItem.cs Re-namespace all files in OnlinePlay directory 2020-12-25 16:50:09 +01:00
DrawableRoomPlaylistWithResults.cs Re-namespace all files in OnlinePlay directory 2020-12-25 16:50:09 +01:00
Header.cs Rename I{Multiplayer -> OnlinePlay}SubScreen 2020-12-25 18:07:34 +01:00
IOnlinePlaySubScreen.cs Rename I{Multiplayer -> OnlinePlay}SubScreen 2020-12-25 18:07:34 +01:00
IRoomManager.cs Re-namespace all files in OnlinePlay directory 2020-12-25 16:50:09 +01:00
OngoingOperationTracker.cs Improve safety of ongoing operation tracker 2021-01-09 22:45:24 +01:00
OnlinePlayComposite.cs Rename {Multiplayer -> OnlinePlay}Composite 2020-12-25 18:07:34 +01:00
OnlinePlayScreen.cs Improve safety of ongoing operation tracker 2021-01-09 22:45:24 +01:00
OnlinePlaySubScreen.cs Rename I{Multiplayer -> OnlinePlay}SubScreen 2020-12-25 18:07:34 +01:00
OnlinePlaySubScreenStack.cs Rename {Multiplayer -> OnlinePlay}SubScreenStack 2020-12-25 17:00:31 +01:00