Permalink
Browse files

Fix flex-shrink when shrinking to zero size

Reviewed By: gkassabli

Differential Revision: D4036345

fbshipit-source-id: f6848d7a316a694426f761d5e51d972bd379d90e
  • Loading branch information...
emilsjolander authored and Facebook Github Bot committed Oct 18, 2016
1 parent 1a6b43e commit 0699a30980ef08a87d51cd67e9d452c9aba427ed
Showing with 12 additions and 6 deletions.
  1. +12 −6 React/CSSLayout/CSSLayout.c
@@ -1550,14 +1550,20 @@ static void layoutNodeImpl(const CSSNodeRef node,
if (remainingFreeSpace < 0) {
flexShrinkScaledFactor = -currentRelativeChild->style.flexShrink * childFlexBasis;
// Is this child able to shrink?
if (flexShrinkScaledFactor != 0) {
updatedMainSize = boundAxis(currentRelativeChild,
mainAxis,
childFlexBasis +
remainingFreeSpace / totalFlexShrinkScaledFactors *
flexShrinkScaledFactor);
float childSize;
if (totalFlexShrinkScaledFactors == 0) {
childSize = childFlexBasis + flexShrinkScaledFactor;
} else {
childSize =
childFlexBasis +
(remainingFreeSpace / totalFlexShrinkScaledFactors) *
flexShrinkScaledFactor;
}
updatedMainSize = boundAxis(currentRelativeChild, mainAxis, childSize);
}
} else if (remainingFreeSpace > 0) {
flexGrowFactor = currentRelativeChild->style.flexGrow;

0 comments on commit 0699a30

Please sign in to comment.