From 351a9f10476160eedc44e9d047f8841df12b86d5 Mon Sep 17 00:00:00 2001 From: Samuel Susla Date: Tue, 19 May 2020 03:17:30 -0700 Subject: [PATCH] Copy alreadyAppliedPadding when cloning SafeAreaViewShadowNode Summary: Changelog: [Internal] `SafeAreaViewShadowNode.alreadyAppliedPadding` was always {0, 0, 0, 0} because value of previous shadow node was never copied over to new shadow node during clone. Reviewed By: shergin Differential Revision: D21617361 fbshipit-source-id: 6d6c91b19ff60271bf7c48145d85faaee0321680 --- .../components/safeareaview/SafeAreaViewShadowNode.cpp | 8 ++++++++ .../components/safeareaview/SafeAreaViewShadowNode.h | 4 ++++ 2 files changed, 12 insertions(+) diff --git a/ReactCommon/fabric/components/safeareaview/SafeAreaViewShadowNode.cpp b/ReactCommon/fabric/components/safeareaview/SafeAreaViewShadowNode.cpp index a04bea2e5e..bf750e84f5 100644 --- a/ReactCommon/fabric/components/safeareaview/SafeAreaViewShadowNode.cpp +++ b/ReactCommon/fabric/components/safeareaview/SafeAreaViewShadowNode.cpp @@ -12,5 +12,13 @@ namespace react { extern const char SafeAreaViewComponentName[] = "SafeAreaView"; +SafeAreaViewShadowNode::SafeAreaViewShadowNode( + ShadowNode const &sourceShadowNode, + ShadowNodeFragment const &fragment) + : ConcreteViewShadowNode(sourceShadowNode, fragment), + alreadyAppliedPadding( + static_cast(sourceShadowNode) + .alreadyAppliedPadding) {} + } // namespace react } // namespace facebook diff --git a/ReactCommon/fabric/components/safeareaview/SafeAreaViewShadowNode.h b/ReactCommon/fabric/components/safeareaview/SafeAreaViewShadowNode.h index 27df74ffab..1f09c463b6 100644 --- a/ReactCommon/fabric/components/safeareaview/SafeAreaViewShadowNode.h +++ b/ReactCommon/fabric/components/safeareaview/SafeAreaViewShadowNode.h @@ -29,6 +29,10 @@ class SafeAreaViewShadowNode final : public ConcreteViewShadowNode< public: EdgeInsets alreadyAppliedPadding{}; + + SafeAreaViewShadowNode( + ShadowNode const &sourceShadowNode, + ShadowNodeFragment const &fragment); }; } // namespace react