-
Notifications
You must be signed in to change notification settings - Fork 28.7k
fix fade_transition issue #157663
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
fix fade_transition issue #157663
Conversation
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.
LGTM with a couple of tiny suggestions :)
Thanks for the fix and the well-structured test!
Co-authored-by: Nate Wilson <[email protected]>
Co-authored-by: Nate Wilson <[email protected]>
Thank you for leaving a comment. I am concerned about the changes to |
@dkwingsmt Is this something you would be up for reviewing? |
Thanks for the contribution. The change seems reasonable to me. But since this involves a change to Also cc @jonahwilliams who worked on related code 3 years ago and should be more knowledgeable than me. Side noteIt took me a while to understand the relationship between
So basically, other than the first few lines, the rest of the two functions are identical. I suggest we refactor it somehow to indicate it more clearly. (It doesn't have to be done in this PR.) |
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.
Change seems reasonable to me, thank you for tracking this one down
LGTM
@dkwingsmt Tests for |
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.
LGTM
…into fix_fade_transition_issue
auto label is removed for flutter/flutter/157663, due to - The status or check suite Google testing has failed. Please fix the issues identified (or deflake) before re-applying this label. |
BTW – I've learned that Google testing can have a hard time understanding merge commits, so it might be better to do a rebase here https://github.com/flutter/flutter/blob/master/docs/contributing/Tree-hygiene.md#using-git |
@dkwingsmt Did the Google testing fail because of this assertion? |
Yeah it was. But I don't think we can remove this assertion, otherwise it means this change will change the logic of existing apps. Let me see if I can find why it was triggered. I wonder if it's because Edit: I found that a handful of tests are broken and seem to be caused by the exactly same widget. I'll look more into it. |
I took a look and propose a different fix:
This fix works for both your unit test and the internal tests. Analysis: The reason why adding the object to And the reason why I think the current approach might not be the best is because the system is so complicated that we can't assume And it seems If you use this approach, maybe we should add a comment to |
I have committed the solution you proposed, If |
@jonahwilliams Would you like to take another look, since we've changed the approach? |
I'll wait until after the US thanksgiving holiday to settle this PR. Thanks for your patience. |
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.
LGTM
auto label is removed for flutter/flutter/157663, due to - The status or check suite Windows build_tests_1_9 has failed. Please fix the issues identified (or deflake) before re-applying this label. |
Fixes: #157312
A simpler way to reproduce this issue:
The main reason is that updating the opacity with
markNeedsCompositedLayerUpdate
followed bymarkNeedsPaint
causes it to be added toowner!._nodesNeedingPaint
twice.Pre-launch Checklist
///
).If you need help, consider asking for advice on the #hackers-new channel on Discord.