Skip to content

Commit 9658d9f

Browse files
Fixed failing snapshot test
Reviewed By: emilsjolander Differential Revision: D6901242 fbshipit-source-id: 7391d6a34fa28e9f92f4ff834755a89dd876fdad
1 parent 114c258 commit 9658d9f

File tree

1 file changed

+8
-5
lines changed

1 file changed

+8
-5
lines changed

ReactCommon/yoga/yoga/Yoga.cpp

Lines changed: 8 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1705,7 +1705,7 @@ static YGCollectFlexItemsRowValues YGCalculateCollectFlexItemsRowValues(
17051705
// of the flex items abide the min and max constraints. At the end of this
17061706
// function the child nodes would have proper size. Prior using this function
17071707
// please ensure that YGDistributeFreeSpaceFirstPass is called.
1708-
static void YGDistributeFreeSpaceSecondPass(
1708+
static float YGDistributeFreeSpaceSecondPass(
17091709
YGCollectFlexItemsRowValues& collectedFlexItemsValues,
17101710
const YGNodeRef node,
17111711
const YGFlexDirection mainAxis,
@@ -1774,7 +1774,7 @@ static void YGDistributeFreeSpaceSecondPass(
17741774
}
17751775
}
17761776

1777-
deltaFreeSpace -= updatedMainSize - childFlexBasis;
1777+
deltaFreeSpace += updatedMainSize - childFlexBasis;
17781778

17791779
const float marginMain = YGNodeMarginForAxis(
17801780
currentRelativeChild, mainAxis, availableInnerWidth);
@@ -1878,8 +1878,7 @@ static void YGDistributeFreeSpaceSecondPass(
18781878
node->getLayout().hadOverflow |
18791879
currentRelativeChild->getLayout().hadOverflow);
18801880
}
1881-
1882-
collectedFlexItemsValues.remainingFreeSpace += deltaFreeSpace;
1881+
return deltaFreeSpace;
18831882
}
18841883

18851884
// It distributes the free space to the flexible items.For those flexible items
@@ -2002,6 +2001,7 @@ static void YGResolveFlexibleLength(
20022001
const YGMeasureMode measureModeCrossDim,
20032002
const bool performLayout,
20042003
const YGConfigRef config) {
2004+
const float originalFreeSpace = collectedFlexItemsValues.remainingFreeSpace;
20052005
// First pass: detect the flex items whose min/max constraints trigger
20062006
YGDistributeFreeSpaceFirstPass(
20072007
collectedFlexItemsValues,
@@ -2011,7 +2011,7 @@ static void YGResolveFlexibleLength(
20112011
availableInnerWidth);
20122012

20132013
// Second pass: resolve the sizes of the flexible items
2014-
YGDistributeFreeSpaceSecondPass(
2014+
const float distributedFreeSpace = YGDistributeFreeSpaceSecondPass(
20152015
collectedFlexItemsValues,
20162016
node,
20172017
mainAxis,
@@ -2025,6 +2025,9 @@ static void YGResolveFlexibleLength(
20252025
measureModeCrossDim,
20262026
performLayout,
20272027
config);
2028+
2029+
collectedFlexItemsValues.remainingFreeSpace =
2030+
originalFreeSpace - distributedFreeSpace;
20282031
}
20292032

20302033
//

0 commit comments

Comments
 (0)