mirror of
https://github.com/ppy/osu.git
synced 2024-11-11 20:59:35 +08:00
1d9aaac2c2
`DrawableHitObject.OnKilled()` calls `UpdateResult()` to clean up a hitobject's state definitively with regards to the judgement result before returning the DHO back to the pool. As it turns out, if a consumer was relying on this code path (as taiko was in the case of nested strong hit objects), it would not work properly with pooling, due to `HitObjectContainer` unsubscribing from `On{New,Revert}Result` *before* calling the DHO's `OnKilled()`. This in turn would lead to users potentially getting stuck in gameplay, due to `ScoreProcessor` not receiving all results via that event path. To resolve, change the call ordering to allow hit result changes applied in `OnKilled()` to propagate normally. |
||
---|---|---|
.. | ||
Configuration | ||
Difficulty | ||
Edit | ||
Judgements | ||
Mods | ||
Objects | ||
Replays | ||
Scoring | ||
Timing | ||
UI | ||
ILegacyRuleset.cs | ||
Ruleset.cs | ||
RulesetConfigCache.cs | ||
RulesetInfo.cs | ||
RulesetSelector.cs | ||
RulesetStore.cs |