You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
When parent is measured against height = NaN, child height is computed to be 10, which is correct.
But then parent is laid out against height = 30.
Now child height should be max(40% * 30, min(10, 60% * 30)) = max(12, min(10, 18)) = 12.
But YGNodeCanUseCachedMeasurement() returns true and cached height of 10 is used instead.
Expected Behavior
In all the cases, final layout should have child height of 12.
Actual Behavior
In some of the scenarios incorrect cached height is used.
I'm not sure if the PR will be merged, as it is a quite edge case here, which leads to increasing the binary size for each node.
In that case I suggest, adding another root node, where you set height and width directly and pass YGUndefined to YGNodeCalculateLayout for width and height.
Changing these values on that new root node lead to proper invalidation of the tree.
Report
Issues and Steps to Reproduce
See the attached example.
Child node has height = 10, minHeight = 40%, maxHeight = 60%.
When parent is measured against height = NaN, child height is computed to be 10, which is correct.
But then parent is laid out against height = 30.
Now child height should be
max(40% * 30, min(10, 60% * 30)) = max(12, min(10, 18)) = 12
.But
YGNodeCanUseCachedMeasurement()
returnstrue
and cached height of 10 is used instead.Expected Behavior
In all the cases, final layout should have child height of 12.
Actual Behavior
In some of the scenarios incorrect cached height is used.
Link to Code
https://pastebin.com/x5e6ZL2b
The text was updated successfully, but these errors were encountered: