sw/source/core/inc/flowfrm.hxx | 2 +- sw/source/core/inc/frmtool.hxx | 3 ++- sw/source/core/layout/frmtool.cxx | 4 ++-- sw/source/uibase/wrtsh/wrtsh1.cxx | 4 ++-- 4 files changed, 7 insertions(+), 6 deletions(-)
New commits: commit 04ed83114a90f747882ed5d60ef67c321f6b96b9 Author: Jim Raykowski <[email protected]> AuthorDate: Thu Dec 18 08:57:10 2025 -0900 Commit: Xisco Fauli <[email protected]> CommitDate: Mon Dec 22 12:11:26 2025 +0100 Outline folding: Make unfolded anchored to frame drawing objects visible Currently when content is unfolded that has drawing objects anchored 'To Frame', excluding fly frame type drawing objects, the drawing object is not made visible. This patch is dependent on its parent commit dfc0ec48f86b39f7159d0c856fa7d497bea3ea13 made for tdf#90993 - Fix anchored objects disappear. Change-Id: Ie3d413cb3c0302fcc785d0fb459e6ed474b11dc9 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/195859 Reviewed-by: Jim Raykowski <[email protected]> Tested-by: Jenkins (cherry picked from commit 836135a6f909cddc474e37b38f90103c26936114) Reviewed-on: https://gerrit.libreoffice.org/c/core/+/195884 Reviewed-by: Xisco Fauli <[email protected]> diff --git a/sw/source/core/inc/flowfrm.hxx b/sw/source/core/inc/flowfrm.hxx index d24eee68097e..d77009b5b8c7 100644 --- a/sw/source/core/inc/flowfrm.hxx +++ b/sw/source/core/inc/flowfrm.hxx @@ -69,7 +69,7 @@ class SAL_DLLPUBLIC_RTTI SAL_LOPLUGIN_ANNOTATE("crosscast") SwFlowFrame // TableSel is allowed to reset the follow-bit friend inline void UnsetFollow( SwFlowFrame *pFlow ); - friend void MakeFrames( SwDoc &, const SwNode &, const SwNode & ); + friend void MakeFrames(SwDoc&, const SwNode&, const SwNode&, const bool); friend class SwNode2LayImpl; diff --git a/sw/source/core/inc/frmtool.hxx b/sw/source/core/inc/frmtool.hxx index 5fffc5494279..ccb8f63c4ef0 100644 --- a/sw/source/core/inc/frmtool.hxx +++ b/sw/source/core/inc/frmtool.hxx @@ -141,7 +141,8 @@ void InsertCnt_( SwLayoutFrame *pLay, SwDoc& rDoc, SwNodeOffset nIndex, SwFrame *pPrv = nullptr, sw::FrameMode eMode = sw::FrameMode::New); // Creation of frames for a specific section (uses InsertCnt_) -void MakeFrames( SwDoc &rDoc, const SwNode &rSttIdx, const SwNode &rEndIdx ); +void MakeFrames(SwDoc& rDoc, const SwNode& rSttIdx, const SwNode& rEndIdx, + const bool _bObjsDirect = false); extern bool bObjsDirect; diff --git a/sw/source/core/layout/frmtool.cxx b/sw/source/core/layout/frmtool.cxx index f226acbc0aa1..3933f9a758bf 100644 --- a/sw/source/core/layout/frmtool.cxx +++ b/sw/source/core/layout/frmtool.cxx @@ -2067,9 +2067,9 @@ void InsertCnt_( SwLayoutFrame *pLay, SwDoc& rDoc, pLayout->SetCallbackActionEnabled( bOldCallbackActionEnabled ); } -void MakeFrames( SwDoc& rDoc, const SwNode &rSttIdx, const SwNode &rEndIdx ) +void MakeFrames(SwDoc& rDoc, const SwNode& rSttIdx, const SwNode& rEndIdx, const bool _bObjsDirect) { - bObjsDirect = false; + bObjsDirect = _bObjsDirect; SwNodeOffset nEndIdx = rEndIdx.GetIndex(); // TODO for multiple layouts there should be a loop here diff --git a/sw/source/uibase/wrtsh/wrtsh1.cxx b/sw/source/uibase/wrtsh/wrtsh1.cxx index aa006d5605e3..614c831d952c 100644 --- a/sw/source/uibase/wrtsh/wrtsh1.cxx +++ b/sw/source/uibase/wrtsh/wrtsh1.cxx @@ -2550,7 +2550,7 @@ void SwWrtShell::MakeOutlineLevelsVisible(const int nLevel) { SwNodeIndex aIdx(*pNode, +1); // Make the outline paragraph frame - MakeFrames(*GetDoc(), *pNode, aIdx.GetNode()); + ::MakeFrames(*GetDoc(), *pNode, aIdx.GetNode(), true); // Make the outline content visible but don't set the outline visible attribute and // don't make outline content made visible not visible that have outline visible // attribute false. Visibility will be taken care of when @@ -2665,7 +2665,7 @@ void SwWrtShell::MakeOutlineContentVisible(const size_t nPos, bool bMakeVisible, { // reset the index marker and make frames aIdx.Assign(*pSttNd, +1); - MakeFrames(*GetDoc(), aIdx.GetNode(), *pEndNd); + ::MakeFrames(*GetDoc(), aIdx.GetNode(), *pEndNd, true); if (bSetAttrOutlineVisibility) {
