sw/source/uibase/utlui/content.cxx | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-)
New commits: commit 8415e4a92b1ef047090679a70a9ff2e580c19071 Author: Jim Raykowski <[email protected]> AuthorDate: Sat Dec 20 00:01:50 2025 -0900 Commit: Jim Raykowski <[email protected]> CommitDate: Sat Dec 20 22:16:23 2025 +0100 tdf#170041 SwNavigator: Fix floating tables aren't highlighted fully Specifically, split frames holding floating tables aren't highlighted fully. This patch uses SwIterator<SwFrame, SwFormat> as observed in SwFrameFormat::DelFrames. Here it is used to visit all frames to highlight. Change-Id: I7d713cd9bca14acddcd5049b5cf81a34e403af72 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/195961 Tested-by: Jenkins Reviewed-by: Jim Raykowski <[email protected]> diff --git a/sw/source/uibase/utlui/content.cxx b/sw/source/uibase/utlui/content.cxx index b4193933a62d..d04571408bcc 100644 --- a/sw/source/uibase/utlui/content.cxx +++ b/sw/source/uibase/utlui/content.cxx @@ -7666,10 +7666,14 @@ void SwContentTree::BringFramesToAttention(const std::vector<const SwFrameFormat { if (!pFrameFormat) continue; - SwRect aFrameRect = pFrameFormat->FindLayoutRect(); - if (!aFrameRect.IsEmpty()) - aRanges.emplace_back(aFrameRect.Left(), aFrameRect.Top(), aFrameRect.Right(), - aFrameRect.Bottom()); + SwIterator<SwFrame, SwFormat> aIter(*pFrameFormat); + for (const SwFrame* pFrame = aIter.First(); pFrame; pFrame = aIter.Next()) + { + const SwRect& rFrameRect = pFrame->getFrameArea(); + if (!rFrameRect.IsEmpty()) + aRanges.emplace_back(rFrameRect.Left(), rFrameRect.Top(), rFrameRect.Right(), + rFrameRect.Bottom()); + } } OverlayObject(std::move(aRanges)); }
