From 6bc1855e1c6c0bbb7830c3c0a507b06774f33a8d Mon Sep 17 00:00:00 2001 From: sunziyuan Date: Wed, 9 Jul 2025 09:48:37 +0800 Subject: [PATCH 1/4] fix_warning_20250709 Signed-off-by: sunziyuan Change-Id: I559d684cbd983f7e13eac12d8b9a1fec32c0db77 --- .../pattern/menu/sub_menu_layout_algorithm.cpp | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) diff --git a/frameworks/core/components_ng/pattern/menu/sub_menu_layout_algorithm.cpp b/frameworks/core/components_ng/pattern/menu/sub_menu_layout_algorithm.cpp index d1c1da4df7e..d780207edea 100644 --- a/frameworks/core/components_ng/pattern/menu/sub_menu_layout_algorithm.cpp +++ b/frameworks/core/components_ng/pattern/menu/sub_menu_layout_algorithm.cpp @@ -178,7 +178,10 @@ float SubMenuLayoutAlgorithm::CalcStackSubMenuPositionYHalfScreenWithPreview( LayoutWrapper* layoutWrapper ) { + CHECK_NULL_RETURN(layoutWrapper, 0.0f); + CHECK_NULL_RETURN(parentMenu, 0.0f); auto parentMenuPattern = parentMenu->GetPattern(); + CHECK_NULL_RETURN(parentMenuPattern, 0.0f); auto parentPlacement = parentMenuPattern->GetLastPlacement().value_or(Placement::NONE); auto firstItemBottomPositionY = GetFirstItemBottomPositionY(parentMenu); float parentMenuBottomY = GetMenuBottomPositionY(parentMenu); @@ -201,7 +204,9 @@ float SubMenuLayoutAlgorithm::CalcStackSubMenuPositionYHalfScreenWithPreview( return lastItemPositionY - size.Height(); } auto subMenuNode = layoutWrapper->GetHostNode(); + CHECK_NULL_RETURN(subMenuNode, 0.0f); auto subMenuPattern = subMenuNode->GetPattern(); + CHECK_NULL_RETURN(subMenuPattern, 0.0f); auto diffY = bottomSpace - size.Height(); subMenuPattern->SetTranslateYForStack(diffY); return wrapperRect_.Top() + param_.topSecurity; @@ -215,7 +220,9 @@ float SubMenuLayoutAlgorithm::CalcStackSubMenuPositionYHalfScreenWithPreview( return wrapperRect_.Bottom() - param_.bottomSecurity - size.Height(); } auto subMenuNode = layoutWrapper->GetHostNode(); + CHECK_NULL_RETURN(subMenuNode, 0.0f); auto subMenuPattern = subMenuNode->GetPattern(); + CHECK_NULL_RETURN(subMenuPattern, 0.0f); auto diffY = size.Height() - bottomSpace; subMenuPattern->SetTranslateYForStack(diffY); return wrapperRect_.Bottom() - param_.bottomSecurity - size.Height(); @@ -311,10 +318,15 @@ float SubMenuLayoutAlgorithm::VerticalLayoutSubMenuHalfScreen( // can't fit in screen, line up with top of the screen return 0.0f; } + CHECK_NULL_RETURN(parentMenuItem, bottomSpace); auto parentItemPattern = parentMenuItem->GetPattern(); + CHECK_NULL_RETURN(parentItemPattern, bottomSpace); auto parentMenu = parentItemPattern->GetMenu(true); + CHECK_NULL_RETURN(parentMenu, bottomSpace); auto parentMenuPattern = parentMenu->GetPattern(); + CHECK_NULL_RETURN(parentMenuPattern, bottomSpace); if (parentMenuPattern->GetPreviewMode() != MenuPreviewMode::NONE) { + CHECK_NULL_RETURN(layoutWrapper, bottomSpace); return CalcStackSubMenuPositionYHalfScreenWithPreview(size, parentMenu, layoutWrapper); } else { return CalcStackSubMenuPositionYHalfScreen(size, parentMenu, parentMenuItem); @@ -339,10 +351,15 @@ float SubMenuLayoutAlgorithm::VerticalLayoutSubMenu(const SizeF& size, float pos // can't fit in screen, line up with top of the screen return wrapperRect_.Top() + paddingTop_; } + CHECK_NULL_RETURN(parentMenuItem, bottomSpace); auto parentItemPattern = parentMenuItem->GetPattern(); + CHECK_NULL_RETURN(parentItemPattern, bottomSpace); auto parentMenu = parentItemPattern->GetMenu(true); + CHECK_NULL_RETURN(parentMenu, bottomSpace); auto parentMenuPattern = parentMenu->GetPattern(); + CHECK_NULL_RETURN(parentMenuPattern, bottomSpace); if (parentMenuPattern->GetPreviewMode() != MenuPreviewMode::NONE) { + CHECK_NULL_RETURN(layoutWrapper, bottomSpace); return CalcStackSubMenuPositionYHalfScreenWithPreview(size, parentMenu, layoutWrapper); } else { return CalcStackSubMenuPositionYHalfScreen(size, parentMenu, parentMenuItem); -- Gitee From 795a63649e25f42621565f0f3eb9052bebe7a676 Mon Sep 17 00:00:00 2001 From: sunziyuan Date: Mon, 14 Jul 2025 15:08:35 +0800 Subject: [PATCH 2/4] fix warning Signed-off-by: sunziyuan Change-Id: I18456a8baa47a9c7fb356295ed86e8306edd0cd1 --- frameworks/core/components_ng/pattern/menu/menu_pattern.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/frameworks/core/components_ng/pattern/menu/menu_pattern.cpp b/frameworks/core/components_ng/pattern/menu/menu_pattern.cpp index 6bb5c7ef773..59adee429b8 100644 --- a/frameworks/core/components_ng/pattern/menu/menu_pattern.cpp +++ b/frameworks/core/components_ng/pattern/menu/menu_pattern.cpp @@ -822,7 +822,7 @@ void MenuPattern::AddGroupFooterDivider(RefPtr& previousNode, const RefP } } // When the group is not the last item of the menu. - if (parent->GetChildIndex(groupNode) < parent->GetChildren().size() - 1) { + if (parent->GetChildIndex(groupNode) < static_cast(parent->GetChildren().size()) - 1) { UpdateDividerProperty(groupPattern->GetBottomDivider(), property->GetItemGroupDivider()); if (itemDividerMode == DividerMode::FLOATING_ABOVE_MENU) { groupPattern->RemoveBottomDivider(); -- Gitee From 621d8366b922f928419e5632905beb196977cac2 Mon Sep 17 00:00:00 2001 From: sunziyuan Date: Tue, 15 Jul 2025 11:36:03 +0800 Subject: [PATCH 3/4] fix warning Signed-off-by: sunziyuan Change-Id: Ib3ada6c9e2fffaff11c08db1d4d01c7209dd0e18 --- .../pattern/bubble/bubble_layout_algorithm.cpp | 13 ++++++++----- .../pattern/menu/menu_layout_algorithm.cpp | 13 ++++++++----- 2 files changed, 16 insertions(+), 10 deletions(-) diff --git a/frameworks/core/components_ng/pattern/bubble/bubble_layout_algorithm.cpp b/frameworks/core/components_ng/pattern/bubble/bubble_layout_algorithm.cpp index 11e8d48ddef..93407afa9a8 100644 --- a/frameworks/core/components_ng/pattern/bubble/bubble_layout_algorithm.cpp +++ b/frameworks/core/components_ng/pattern/bubble/bubble_layout_algorithm.cpp @@ -1393,7 +1393,8 @@ OffsetF BubbleLayoutAlgorithm::GetAdjustPosition(std::vector& current OffsetF position; float width = 0.0f; float height = 0.0f; - for (size_t i = 0, len = currentPlacementStates.size(); i < len;) { + size_t len = currentPlacementStates.size(); + for (size_t i = 0; i < len;) { placement_ = currentPlacementStates[i]; if (placement_ == Placement::NONE) { break; @@ -1429,11 +1430,13 @@ OffsetF BubbleLayoutAlgorithm::GetAdjustPosition(std::vector& current } } position = AdjustPosition(childPosition, width, height, targetSpace_.ConvertToPx()); - if (NearEqual(position, OffsetF(0.0f, 0.0f))) { - i += step; - continue; + if (!NearEqual(position, OffsetF(0.0f, 0.0f))) { + break; } - break; + if (len - i <= step) { + break; + } + i += step; } return position; } diff --git a/frameworks/core/components_ng/pattern/menu/menu_layout_algorithm.cpp b/frameworks/core/components_ng/pattern/menu/menu_layout_algorithm.cpp index 6f97a7c3bc0..17cb8e0f31c 100644 --- a/frameworks/core/components_ng/pattern/menu/menu_layout_algorithm.cpp +++ b/frameworks/core/components_ng/pattern/menu/menu_layout_algorithm.cpp @@ -3031,18 +3031,21 @@ OffsetF MenuLayoutAlgorithm::GetAdjustPosition(std::vector& currentPl { OffsetF childPosition; OffsetF position; - for (size_t i = 0, len = currentPlacementStates.size(); i < len;) { + size_t len = currentPlacementStates.size(); + for (size_t i = 0; i < len;) { placement_ = currentPlacementStates[i]; if (placement_ == Placement::NONE) { break; } childPosition = GetPositionWithPlacement(childSize, topPosition, bottomPosition); position = AdjustPosition(childPosition, childSize.Width(), childSize.Height(), targetSecurity_); - if (NearEqual(position, OffsetF(0.0f, 0.0f))) { - i += step; - continue; + if (!NearEqual(position, OffsetF(0.0f, 0.0f))) { + break; } - break; + if (len - i <= step) { + break; + } + i += step; } return position; } -- Gitee From dd3aca2b40b7c40af2f3749bb03032ae7e223c09 Mon Sep 17 00:00:00 2001 From: sunziyuan Date: Tue, 15 Jul 2025 14:39:55 +0800 Subject: [PATCH 4/4] fix codecheck Signed-off-by: sunziyuan Change-Id: Id77009147689a2afa38a4250330f56b9e3377a74 --- .../components_ng/pattern/bubble/bubble_layout_algorithm.cpp | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/frameworks/core/components_ng/pattern/bubble/bubble_layout_algorithm.cpp b/frameworks/core/components_ng/pattern/bubble/bubble_layout_algorithm.cpp index 93407afa9a8..5290952bfd2 100644 --- a/frameworks/core/components_ng/pattern/bubble/bubble_layout_algorithm.cpp +++ b/frameworks/core/components_ng/pattern/bubble/bubble_layout_algorithm.cpp @@ -1430,10 +1430,7 @@ OffsetF BubbleLayoutAlgorithm::GetAdjustPosition(std::vector& current } } position = AdjustPosition(childPosition, width, height, targetSpace_.ConvertToPx()); - if (!NearEqual(position, OffsetF(0.0f, 0.0f))) { - break; - } - if (len - i <= step) { + if ((!NearEqual(position, OffsetF(0.0f, 0.0f))) || (len - i <= step)) { break; } i += step; -- Gitee