Commit a3f11e4
Fix differ creating or deleting a view that a nested (un)flattening moves
When a view flattens in the same commit in which its parent unflattens,
a child with a negative zIndex is sorted before the view that contains it.
The final loop of calculateShadowViewMutationsFlattener then took it for
a new or removed view, because the nested recursion matched it through a
different ShadowViewNodePair. Skip candidates the recursion recorded in
the sub-visited map.
Also stop keeping a pointer to a loop-local copy in
unvisitedRecursiveChildPairs.
Fixes #58647
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>1 parent d950a46 commit a3f11e4
1 file changed
Lines changed: 9 additions & 3 deletions
Lines changed: 9 additions & 3 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
708 | 708 | | |
709 | 709 | | |
710 | 710 | | |
711 | | - | |
| 711 | + | |
712 | 712 | | |
713 | | - | |
| 713 | + | |
714 | 714 | | |
715 | 715 | | |
716 | 716 | | |
| |||
820 | 820 | | |
821 | 821 | | |
822 | 822 | | |
| 823 | + | |
| 824 | + | |
| 825 | + | |
823 | 826 | | |
824 | 827 | | |
825 | 828 | | |
| |||
828 | 831 | | |
829 | 832 | | |
830 | 833 | | |
831 | | - | |
| 834 | + | |
| 835 | + | |
| 836 | + | |
| 837 | + | |
832 | 838 | | |
833 | 839 | | |
834 | 840 | | |
| |||
0 commit comments