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
I've stumbled upon a similar (same?) issue with autosized FillFlowContainers and it indeed looks like a precision issue somewhere. In this case parent's autosize depends on children positions and their position depends on size of the parent.
Here's the flow of events:
flow layout isn't valid, call PerformLayout
this will invalidatechildrenSizeDependencies in CompositeDrawable (which FlowContainer is)
computing autosize will perform Invalidation.DrawSize and invalidate flow layout
call PerformLayout again, now children have slightly different positions
autosize will be calculated a bit differently and so are the children positions later
And we are stuck in this loop until we reach the stable state which may or may not happen. Stable state is being reached by praying that all the children won't have different positions calculated while performing layout after autosize (step 4).
Very easy to replicate with the results screen statistics in lazer: https://drive.google.com/file/d/14bpey-ofUjQGTJJSTeE6nysUIdrOgoh0/view?usp=sharing
Possibly due to FP precision loss, autosize probably shouldn't consider changes in size by such small amounts.
The text was updated successfully, but these errors were encountered: