From 1b5eb36e2f00d1473247698b3e43e70d616ab3b1 Mon Sep 17 00:00:00 2001 From: Emil Sjolander Date: Thu, 16 Feb 2017 06:47:28 -0800 Subject: [PATCH] Fix up some small issues with YGUnitAuto Reviewed By: wwjholmes Differential Revision: D4567045 fbshipit-source-id: ace5fd89bd534a6bb5ec7dba0c3afbf13d62d7c9 --- React/Views/RCTShadowView.m | 3 +-- ReactCommon/yoga/yoga/Yoga.c | 10 +++++----- ReactCommon/yoga/yoga/Yoga.h | 2 +- 3 files changed, 7 insertions(+), 8 deletions(-) diff --git a/React/Views/RCTShadowView.m b/React/Views/RCTShadowView.m index ed5228d8f..f75d44830 100644 --- a/React/Views/RCTShadowView.m +++ b/React/Views/RCTShadowView.m @@ -58,6 +58,7 @@ static void RCTPrint(YGNodeRef node) #define RCT_SET_YGVALUE(ygvalue, setter, ...) \ switch (ygvalue.unit) { \ + case YGUnitAuto: \ case YGUnitUndefined: \ setter(__VA_ARGS__, YGUndefined); \ break; \ @@ -67,8 +68,6 @@ switch (ygvalue.unit) { \ case YGUnitPercent: \ setter##Percent(__VA_ARGS__, ygvalue.value); \ break; \ - case YGUnitAuto: \ - break; \ } #define DEFINE_PROCESS_META_PROPS(type) \ diff --git a/ReactCommon/yoga/yoga/Yoga.c b/ReactCommon/yoga/yoga/Yoga.c index ccb947d5e..9d3a37c8f 100644 --- a/ReactCommon/yoga/yoga/Yoga.c +++ b/ReactCommon/yoga/yoga/Yoga.c @@ -434,7 +434,7 @@ inline float YGNodeStyleGetFlexShrink(const YGNodeRef node) { } static inline const YGValue *YGNodeStyleGetFlexBasisPtr(const YGNodeRef node) { - if (node->style.flexBasis.unit != YGUnitAuto) { + if (node->style.flexBasis.unit != YGUnitAuto && node->style.flexBasis.unit != YGUnitUndefined) { return &node->style.flexBasis; } if (!YGFloatIsUndefined(node->style.flex) && node->style.flex > 0.0f) { @@ -477,7 +477,7 @@ void YGNodeStyleSetFlex(const YGNodeRef node, const float flex) { node->style.instanceName.unit != YGUnitPoint) { \ node->style.instanceName.value = paramName; \ node->style.instanceName.unit = \ - YGFloatIsUndefined(paramName) ? YGUnitUndefined : YGUnitPoint; \ + YGFloatIsUndefined(paramName) ? YGUnitAuto : YGUnitPoint; \ YGNodeMarkDirtyInternal(node); \ } \ } \ @@ -487,7 +487,7 @@ void YGNodeStyleSetFlex(const YGNodeRef node, const float flex) { node->style.instanceName.unit != YGUnitPercent) { \ node->style.instanceName.value = paramName; \ node->style.instanceName.unit = \ - YGFloatIsUndefined(paramName) ? YGUnitUndefined : YGUnitPercent; \ + YGFloatIsUndefined(paramName) ? YGUnitAuto : YGUnitPercent; \ YGNodeMarkDirtyInternal(node); \ } \ } @@ -496,7 +496,7 @@ void YGNodeStyleSetFlex(const YGNodeRef node, const float flex) { void YGNodeStyleSet##name(const YGNodeRef node, const type paramName) { \ if (node->style.instanceName.value != paramName || \ node->style.instanceName.unit != YGUnitPoint) { \ - node->style.instanceName.value = YGFloatIsUndefined(paramName) ? YGUndefined : paramName; \ + node->style.instanceName.value = paramName; \ node->style.instanceName.unit = YGFloatIsUndefined(paramName) ? YGUnitAuto : YGUnitPoint; \ YGNodeMarkDirtyInternal(node); \ } \ @@ -505,7 +505,7 @@ void YGNodeStyleSetFlex(const YGNodeRef node, const float flex) { void YGNodeStyleSet##name##Percent(const YGNodeRef node, const type paramName) { \ if (node->style.instanceName.value != paramName || \ node->style.instanceName.unit != YGUnitPercent) { \ - node->style.instanceName.value = YGFloatIsUndefined(paramName) ? YGUndefined : paramName; \ + node->style.instanceName.value = paramName; \ node->style.instanceName.unit = YGFloatIsUndefined(paramName) ? YGUnitAuto : YGUnitPercent; \ YGNodeMarkDirtyInternal(node); \ } \ diff --git a/ReactCommon/yoga/yoga/Yoga.h b/ReactCommon/yoga/yoga/Yoga.h index 4969f17c1..4174e7869 100644 --- a/ReactCommon/yoga/yoga/Yoga.h +++ b/ReactCommon/yoga/yoga/Yoga.h @@ -44,7 +44,7 @@ typedef struct YGValue { } YGValue; static const YGValue YGValueUndefined = {YGUndefined, YGUnitUndefined}; -static const YGValue YGValueAuto = {0, YGUnitAuto}; +static const YGValue YGValueAuto = {YGUndefined, YGUnitAuto}; typedef struct YGNode *YGNodeRef; typedef YGSize (*YGMeasureFunc)(YGNodeRef node,