diff --git a/apple/MarkdownTextInputDecoratorShadowNode.mm b/apple/MarkdownTextInputDecoratorShadowNode.mm index a4ab8ffa..8a018c67 100644 --- a/apple/MarkdownTextInputDecoratorShadowNode.mm +++ b/apple/MarkdownTextInputDecoratorShadowNode.mm @@ -15,6 +15,9 @@ extern const char MarkdownTextInputDecoratorViewComponentName[] = "MarkdownTextInputDecoratorView"; +thread_local LayoutContext decoratorLayoutContext{.fontSizeMultiplier = + RCTFontSizeMultiplier()}; + void MarkdownTextInputDecoratorShadowNode::initialize() { // Setting display: contents style results in ForceFlattenView trait being set // on the shadow node. This trait causes the node not to have a host view. By @@ -93,6 +96,7 @@ void MarkdownTextInputDecoratorShadowNode::layout(LayoutContext layoutContext) { YogaLayoutableShadowNode::layout(layoutContext); + decoratorLayoutContext = layoutContext; const auto &children = getChildren(); react_native_assert( @@ -250,10 +254,8 @@ const auto &decoratorYogaNode = YGNodeGetParent(const_cast(yogaNode)); const auto &decoratorShadowNode = shadowNodeFromContext(decoratorYogaNode); - LayoutContext context{}; - context.fontSizeMultiplier = RCTFontSizeMultiplier(); - - const auto size = decoratorShadowNode.measureContent(context, {minimumSize, maximumSize}); + const auto size = decoratorShadowNode.measureContent( + decoratorLayoutContext, {minimumSize, maximumSize}); return YGSize{yogaFloatFromFloat(size.width), yogaFloatFromFloat(size.height)};