diff --git a/yoga/Yoga.cpp b/yoga/Yoga.cpp index 34629e91..1a374ab3 100644 --- a/yoga/Yoga.cpp +++ b/yoga/Yoga.cpp @@ -1644,13 +1644,8 @@ static void YGNodeWithMeasureFuncSetMeasuredDimensions( layoutContext); layoutMarkerData.measureCallbacks += 1; - if (reason == LayoutPassReason::kMeasureChild) { - layoutMarkerData.measureChildMeasureCallbacks += 1; - } else if (reason == LayoutPassReason::kFlexMeasure) { - layoutMarkerData.flexMeasureMeasureCallbacks += 1; - } else if (reason == LayoutPassReason::kAbsMeasureChild) { - layoutMarkerData.absMeasureChildMeasureCallbacks += 1; - } + layoutMarkerData.measureCallbackReasonsCount[static_cast(reason)] += + 1; Event::publish( node, diff --git a/yoga/event/event.h b/yoga/event/event.h index e27e53d3..39b07394 100644 --- a/yoga/event/event.h +++ b/yoga/event/event.h @@ -8,6 +8,7 @@ #include #include +#include #include struct YGConfig; @@ -42,9 +43,8 @@ struct LayoutData { int cachedLayouts; int cachedMeasures; int measureCallbacks; - int measureChildMeasureCallbacks; - int absMeasureChildMeasureCallbacks; - int flexMeasureMeasureCallbacks; + std::array(LayoutPassReason::COUNT)> + measureCallbackReasonsCount; }; const char* LayoutPassReasonToString(const LayoutPassReason value);