-
Notifications
You must be signed in to change notification settings - Fork 6k
[CP] Cached DisplayList opacity inheritance fix (#39690) #39720
[CP] Cached DisplayList opacity inheritance fix (#39690) #39720
Conversation
|
@flar Could you suggest a fix for the build failure in the presubmits? Does this CP depend on all or part of a previous change that we'd also need to CP? |
chinmaygarde
left a comment
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.
The failure does look real. Not sure why it wasn't caught earlier.
|
@zanderso any update on the failures here? |
|
This getter should have always been const. It was originally written without "const" because no code that called it needed it to work on a const value. A couple of months ago, during the DisplayList RTree work, this oversight was noted and corrected and the getter was made const. And this fix was written against that change where this getter was already const. The RTree code went in long enough ago (2 months) that I would have thought it would be included in the latest release candidates (?), where did the branch for this CP originate from? We can either mark that getter "const" as part of this CP, or if this CP is to an older release we can decide to only CP this fix to more recent releases and candidates and let the bug stand in the older releases? Simply adding the const modifier to the getter in question is pretty trivial though, even though it might potentially block merging a more recent fix into this release source base. I'm not sure we plan to back-port the DisplayList RTree work that originated the change, though, so that should be safe... |
|
I suppose that makes this unsafe for a cherry-pick. |
Perhaps for the release targeted here that didn't include the fix that made it const. But, it's also only a one line change to make the getter const and then this CP would probably succeed... |
|
@flar @chinmaygarde if you can link me to the spot where the |
From the build logs: |
* only indicate opacity inheritance when DL is actually cached * unit test * use CacheInfo struct to simplify return values
a042fa0 to
5d3edd2
Compare
|
After adding the const qualifier, I'm not hitting this: Is there another PR that should be included in this CP? |
|
Ugh, that change in the constructors was brought in by #34365 3 months ago which was a major restructuring of the Builder to compute bounds during construction rather than as a lazy pass. That whole PR would have to be combined. It may be possible to simply remove the argument from that constructor. I think Is it worth back-porting this fix to 3.7 candidate 1? Is there a more recent candidate to target for CP that includes these other fixes? Update - indeed there are many other declarations of DisplayListBuilder in that unit test file that use the default construction. I believe the default construction is identical to using the |
|
Fingers crossed emoji... |
flar
left a comment
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
|
@godofredoc is it expected that the |
|
The 2 queued builds were removed and will never run. @itsjustkevin they can be ignored for the purposes of landing this CP. /cc @godofredoc |
|
Failing tests are no longer part of presubmits, merging PR. |
This is the CP PR for flutter/flutter#120985