diff options
-rw-r--r-- | sw/source/core/inc/txtfrm.hxx | 2 | ||||
-rw-r--r-- | sw/source/core/text/txtfrm.cxx | 17 |
2 files changed, 18 insertions, 1 deletions
diff --git a/sw/source/core/inc/txtfrm.hxx b/sw/source/core/inc/txtfrm.hxx index aa661ab6f472..5eb151c8a059 100644 --- a/sw/source/core/inc/txtfrm.hxx +++ b/sw/source/core/inc/txtfrm.hxx @@ -391,7 +391,7 @@ public: bool IsEmptyMaster() const { return GetFollow() && !GetFollow()->GetOfst(); } - void SetMergedPara(std::unique_ptr<sw::MergedPara> p) { m_pMergedPara = std::move(p); } + void SetMergedPara(std::unique_ptr<sw::MergedPara> p); #if 0 sw::MergedPara * GetMergedPara() { return m_pMergedPara.get(); } #endif diff --git a/sw/source/core/text/txtfrm.cxx b/sw/source/core/text/txtfrm.cxx index a1fa39e54195..f8e7e1a1597c 100644 --- a/sw/source/core/text/txtfrm.cxx +++ b/sw/source/core/text/txtfrm.cxx @@ -969,6 +969,23 @@ TextFrameIndex SwTextFrame::MapModelToViewPos(SwPosition const& rPos) const return MapModelToView(pNode, nIndex); } +void SwTextFrame::SetMergedPara(std::unique_ptr<sw::MergedPara> p) +{ + SwTextNode *const pFirst(m_pMergedPara ? m_pMergedPara->pFirstNode : nullptr); + m_pMergedPara = std::move(p); + if (pFirst) + { + if (m_pMergedPara) + { + assert(pFirst == m_pMergedPara->pFirstNode); + } + else + { + pFirst->Add(this); // must register at node again + } + } +} + const OUString& SwTextFrame::GetText() const { //nope assert(GetPara()); |