-
Notifications
You must be signed in to change notification settings - Fork 424
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Silently return rather than throwing when performing mutations on disposed drawables #5534
Conversation
2eb71bf
to
d9a554f
Compare
There's a couple of test failures I'm unsure about, needs further investigation. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I don't see a huge reason not to.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I find this a little bit scary, but I guess we can try it and see what/how things blow up.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Looking at the specific case mentioned in OP, I'm interested to know what's trigging the value change, since a drawable usually unbinds all of its bindables before disposal. But that being said, I can't think of that being potentially bad to cause issues hiding behind us, so I'm not completely against this change.
A common pain point in test and production failures, which isn't really protecting us from incorrect usage. I think it makes more sense not to throw in these scenarios.
Example of a failure: https://github.com/ppy/osu/actions/runs/3511604121/jobs/5882531098
We would usually fix these by adding a
Schedule
inline, but this can potentially cause other unforeseen issues in normal usage (frame delay; events not running due to alive state etc). We've added such schedules in countless places.Interested in thoughts of those marked for review (and anyone else that cares enough). Also please check through each exception to make sure you agree with all the removed ones. I've left some which make sense to keep around.