From 2ad8e81c967f54efb9d4917c1d997af3790d83f2 Mon Sep 17 00:00:00 2001 From: WendongPang Date: Thu, 14 Aug 2025 20:37:12 +0800 Subject: [PATCH] fix layoutproperty Signed-off-by: WendongPang --- frameworks/core/components_ng/layout/layout_property.cpp | 6 +++--- interfaces/ets/ani/mediaquery/src/mediaquery.cpp | 4 ++-- test/unittest/core/manager/safe_area_manager_test_ng.cpp | 1 + 3 files changed, 6 insertions(+), 5 deletions(-) diff --git a/frameworks/core/components_ng/layout/layout_property.cpp b/frameworks/core/components_ng/layout/layout_property.cpp index 088a9b74ba1..1bc71301bd5 100644 --- a/frameworks/core/components_ng/layout/layout_property.cpp +++ b/frameworks/core/components_ng/layout/layout_property.cpp @@ -941,7 +941,6 @@ PaddingPropertyF LayoutProperty::CreateSafeAreaPadding(bool adjustingRound) auto host = GetHost(); auto pipeline = host ? host->GetContext() : nullptr; ScaleProperty scaleProperty = ScaleProperty::CreateScaleProperty(pipeline); - auto rootWidth = pipeline ? pipeline->GetRootWidth() : PipelineContext::GetCurrentRootWidth(); if (layoutConstraint_.has_value()) { std::optional contentWithSafeArea = layoutConstraint_.value(); PaddingPropertyF roundOffFraction; @@ -962,6 +961,7 @@ PaddingPropertyF LayoutProperty::CreateSafeAreaPadding(bool adjustingRound) isRtl ? truncatedSafeAreaPadding.left : truncatedSafeAreaPadding.right); return truncatedSafeAreaPadding; } + auto rootWidth = pipeline ? pipeline->GetRootWidth() : PipelineContext::GetCurrentRootWidth(); return ConvertToPaddingPropertyF( safeAreaPadding_, scaleProperty, rootWidth, true, true); } @@ -974,7 +974,6 @@ PaddingPropertyF LayoutProperty::CreatePaddingAndBorder(bool includeSafeAreaPadd } auto host = GetHost(); auto pipeline = host ? host->GetContext() : nullptr; - auto rootWidth = pipeline ? pipeline->GetRootWidth() : PipelineContext::GetCurrentRootWidth(); ScaleProperty scaleProperty = ScaleProperty::CreateScaleProperty(pipeline); if (layoutConstraint_.has_value()) { auto padding = ConvertToPaddingPropertyF(padding_, scaleProperty, layoutConstraint_->percentReference.Width()); @@ -988,6 +987,7 @@ PaddingPropertyF LayoutProperty::CreatePaddingAndBorder(bool includeSafeAreaPadd } return CombinePaddingsAndBorder(safeAreaPadding, padding, borderWidth, {}); } + auto rootWidth = pipeline ? pipeline->GetRootWidth() : PipelineContext::GetCurrentRootWidth(); auto padding = ConvertToPaddingPropertyF(padding_, scaleProperty, rootWidth); auto borderWidth = ConvertToBorderWidthPropertyF(borderWidth_, scaleProperty, rootWidth); @@ -1005,13 +1005,13 @@ PaddingPropertyF LayoutProperty::CreatePaddingAndBorderWithDefault(float padding auto host = GetHost(); auto pipeline = host ? host->GetContext() : nullptr; ScaleProperty scaleProperty = ScaleProperty::CreateScaleProperty(pipeline); - auto rootWidth = pipeline ? pipeline->GetRootWidth() : PipelineContext::GetCurrentRootWidth(); if (layoutConstraint_.has_value()) { auto padding = ConvertToPaddingPropertyF(padding_, scaleProperty, layoutConstraint_->percentReference.Width()); auto borderWidth = ConvertToBorderWidthPropertyF(borderWidth_, scaleProperty, layoutConstraint_->percentReference.Width()); return CombinePaddingsAndBorder(safeAreaPadding, padding, borderWidth, defaultParem); } + auto rootWidth = pipeline ? pipeline->GetRootWidth() : PipelineContext::GetCurrentRootWidth(); auto padding = ConvertToPaddingPropertyF(padding_, scaleProperty, rootWidth); auto borderWidth = ConvertToBorderWidthPropertyF(borderWidth_, scaleProperty, rootWidth); diff --git a/interfaces/ets/ani/mediaquery/src/mediaquery.cpp b/interfaces/ets/ani/mediaquery/src/mediaquery.cpp index 5b77933584d..dc1b17b2d63 100644 --- a/interfaces/ets/ani/mediaquery/src/mediaquery.cpp +++ b/interfaces/ets/ani/mediaquery/src/mediaquery.cpp @@ -149,7 +149,7 @@ public: ani_ref ref; ani_boolean wasReleased; listener->env_->WeakReference_GetReference(cbWref, &wasReleased, &ref); - ani_object result; + ani_object result = {}; listener->MediaQueryResult::AniSerializer(listener->env_, result); ani_ref resultRef = static_cast(result); listener->env_->FunctionalObject_Call(static_cast(ref), 1, &resultRef, nullptr); @@ -341,7 +341,7 @@ private: return TWO_ARGS; } - ani_env *env_; + ani_env *env_ = nullptr; std::list cbList_; static std::set>* delayDeleteListenerSets_; static std::set* delayDeleteCallbacks_; diff --git a/test/unittest/core/manager/safe_area_manager_test_ng.cpp b/test/unittest/core/manager/safe_area_manager_test_ng.cpp index 4a8b36503a5..0797af2c873 100644 --- a/test/unittest/core/manager/safe_area_manager_test_ng.cpp +++ b/test/unittest/core/manager/safe_area_manager_test_ng.cpp @@ -1385,6 +1385,7 @@ HWTEST_F(SafeAreaManagerTest, AddNodeToExpandListIfNeededTest, TestSize.Level1) EXPECT_EQ(safeAreaManager_->AddNodeToExpandListIfNeeded(frameNode2), false); EXPECT_EQ(safeAreaManager_->AddNodeToExpandListIfNeeded(frameNode3), false); EXPECT_EQ(safeAreaManager_->AddNodeToExpandListIfNeeded(frameNode4), false); + EXPECT_EQ(safeAreaManager_->GetExpandNodeSet().size(), 5); safeAreaManager_->ClearNeedExpandNode(); EXPECT_EQ(safeAreaManager_->GetExpandNodeSet().size(), 0); -- Gitee