summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--sw/source/core/layout/calcmove.cxx8
-rw-r--r--sw/source/core/layout/flowfrm.cxx4
2 files changed, 12 insertions, 0 deletions
diff --git a/sw/source/core/layout/calcmove.cxx b/sw/source/core/layout/calcmove.cxx
index 1856e6b69d40..ff2befe5d969 100644
--- a/sw/source/core/layout/calcmove.cxx
+++ b/sw/source/core/layout/calcmove.cxx
@@ -409,12 +409,20 @@ void SwFrame::PrepareCursor()
if ( bTab )
{
+#if BOOST_VERSION < 105600
+ tabGuard.reset(static_cast<SwTabFrame*>(this)); // tdf#125741
+#else
tabGuard.emplace(static_cast<SwTabFrame*>(this)); // tdf#125741
+#endif
pThis = static_cast<SwTabFrame*>(this);
}
else if (IsRowFrame())
{
+#if BOOST_VERSION < 105600
+ rowGuard.reset(SwFrameDeleteGuard(this)); // tdf#125741 keep this alive
+#else
rowGuard.emplace(this); // tdf#125741 keep this alive
+#endif
}
else if( IsSctFrame() )
{
diff --git a/sw/source/core/layout/flowfrm.cxx b/sw/source/core/layout/flowfrm.cxx
index 6c9e61595f23..dbe7d9c7feec 100644
--- a/sw/source/core/layout/flowfrm.cxx
+++ b/sw/source/core/layout/flowfrm.cxx
@@ -2527,7 +2527,11 @@ bool SwFlowFrame::MoveBwd( bool &rbReformat )
&& pTabFrame->GetFirstNonHeadlineRow() == m_rThis.GetUpper()->GetUpper())
{
// lock follow-flow-row (similar to sections above)
+#if BOOST_VERSION < 105600
+ g.reset(SwFrameDeleteGuard(m_rThis.GetUpper()->GetUpper()));
+#else
g.emplace(m_rThis.GetUpper()->GetUpper());
+#endif
assert(m_rThis.GetUpper()->GetUpper()->IsDeleteForbidden());
}
}