diff --git a/ReactCommon/yoga/yoga/YGMarker.h b/ReactCommon/yoga/yoga/YGMarker.h index f7da1b58a97..15280927282 100644 --- a/ReactCommon/yoga/yoga/YGMarker.h +++ b/ReactCommon/yoga/yoga/YGMarker.h @@ -18,7 +18,8 @@ typedef YG_ENUM_BEGIN(YGMarker){ } YG_ENUM_END(YGMarker); typedef struct { - int unused; + int layouts; + int measures; } YGMarkerLayoutData; typedef union { @@ -54,6 +55,15 @@ struct MarkerData { }; } // namespace detail + +template +typename detail::MarkerData::type* data(YGMarkerData) = delete; + +template <> +inline YGMarkerLayoutData* data(YGMarkerData d) { + return d.layout; +} + } // namespace marker } // namespace yoga } // namespace facebook diff --git a/ReactCommon/yoga/yoga/Yoga.cpp b/ReactCommon/yoga/yoga/Yoga.cpp index 6b91b7e17e4..9461bb3faba 100644 --- a/ReactCommon/yoga/yoga/Yoga.cpp +++ b/ReactCommon/yoga/yoga/Yoga.cpp @@ -2685,6 +2685,8 @@ static void YGNodelayoutImpl( "availableHeight is indefinite so heightMeasureMode must be " "YGMeasureModeUndefined"); + (performLayout ? layoutMarkerData.layouts : layoutMarkerData.measures) += 1; + // Set the resolved resolution in the node's layout. const YGDirection direction = node->resolveDirection(ownerDirection); node->setLayoutDirection(direction);