summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--sw/source/core/inc/txtfrm.hxx2
-rw-r--r--sw/source/core/text/txtfrm.cxx17
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());