diff --git a/src/Layout.c b/src/Layout.c index 4e8d9862..51311d8e 100644 --- a/src/Layout.c +++ b/src/Layout.c @@ -1041,7 +1041,10 @@ static void layoutNodeImpl(css_node_t *node, float parentMaxWidth, css_direction paddingAndBorderAxisMain ); - needsMainTrailingPos = true; + if (mainAxis == CSS_FLEX_DIRECTION_ROW_REVERSE || + mainAxis == CSS_FLEX_DIRECTION_COLUMN_REVERSE) { + needsMainTrailingPos = true; + } } if (!isCrossDimDefined) { @@ -1053,7 +1056,10 @@ static void layoutNodeImpl(css_node_t *node, float parentMaxWidth, css_direction paddingAndBorderAxisCross ); - needsCrossTrailingPos = true; + if (crossAxis == CSS_FLEX_DIRECTION_ROW_REVERSE || + crossAxis == CSS_FLEX_DIRECTION_COLUMN_REVERSE) { + needsCrossTrailingPos = true; + } } // Set trailing position if necessary diff --git a/src/Layout.js b/src/Layout.js index 9d8a4abc..9691767d 100755 --- a/src/Layout.js +++ b/src/Layout.js @@ -909,7 +909,10 @@ var computeLayout = (function() { paddingAndBorderAxisMain ); - needsMainTrailingPos = true; + if (mainAxis == CSS_FLEX_DIRECTION_ROW_REVERSE || + mainAxis == CSS_FLEX_DIRECTION_COLUMN_REVERSE) { + needsMainTrailingPos = true; + } } if (!isCrossDimDefined) { @@ -921,7 +924,10 @@ var computeLayout = (function() { paddingAndBorderAxisCross ); - needsCrossTrailingPos = true; + if (crossAxis == CSS_FLEX_DIRECTION_ROW_REVERSE || + crossAxis == CSS_FLEX_DIRECTION_COLUMN_REVERSE) { + needsCrossTrailingPos = true; + } } // Set trailing position if necessary diff --git a/src/java/src/com/facebook/csslayout/LayoutEngine.java b/src/java/src/com/facebook/csslayout/LayoutEngine.java index a4b7baea..f75e5795 100644 --- a/src/java/src/com/facebook/csslayout/LayoutEngine.java +++ b/src/java/src/com/facebook/csslayout/LayoutEngine.java @@ -858,7 +858,10 @@ public class LayoutEngine { paddingAndBorderAxisMain ); - needsMainTrailingPos = true; + if (mainAxis == CSS_FLEX_DIRECTION_ROW_REVERSE || + mainAxis == CSS_FLEX_DIRECTION_COLUMN_REVERSE) { + needsMainTrailingPos = true; + } } if (!isCrossDimDefined) { @@ -870,7 +873,10 @@ public class LayoutEngine { paddingAndBorderAxisCross ); - needsCrossTrailingPos = true; + if (crossAxis == CSS_FLEX_DIRECTION_ROW_REVERSE || + crossAxis == CSS_FLEX_DIRECTION_COLUMN_REVERSE) { + needsCrossTrailingPos = true; + } } // Set trailing position if necessary