diff options
Diffstat (limited to 'sw/source/core/text/redlnitr.cxx')
-rw-r--r-- | sw/source/core/text/redlnitr.cxx | 12 |
1 files changed, 10 insertions, 2 deletions
diff --git a/sw/source/core/text/redlnitr.cxx b/sw/source/core/text/redlnitr.cxx index 44fa965d8387..0640001dddb0 100644 --- a/sw/source/core/text/redlnitr.cxx +++ b/sw/source/core/text/redlnitr.cxx @@ -55,6 +55,7 @@ CheckParaRedlineMerge(SwTextFrame & rFrame, SwTextNode & rTextNode) return nullptr; } bool bHaveRedlines(false); + std::vector<SwTextNode *> nodes{ &rTextNode }; std::vector<sw::Extent> extents; OUStringBuffer mergedText; SwTextNode const* pParaPropsNode(nullptr); @@ -92,6 +93,7 @@ CheckParaRedlineMerge(SwTextFrame & rFrame, SwTextNode & rTextNode) } pNode = pEnd->nNode.GetNode().GetTextNode(); assert(pNode); + nodes.push_back(pNode); pNode->SetRedlineMergeFlag(SwNode::Merge::NonFirst); } nLastEnd = pEnd->nContent.GetIndex(); @@ -115,8 +117,14 @@ CheckParaRedlineMerge(SwTextFrame & rFrame, SwTextNode & rTextNode) assert(!mergedText.isEmpty()); pParaPropsNode = extents.begin()->pNode; // para props from first node that isn't empty } - return o3tl::make_unique<sw::MergedPara>(std::move(extents), - mergedText.makeStringAndClear(), pParaPropsNode, &rTextNode); + auto pRet(o3tl::make_unique<sw::MergedPara>(rFrame, std::move(extents), + mergedText.makeStringAndClear(), pParaPropsNode, &rTextNode)); + for (SwTextNode * pTmp : nodes) + { + pRet->listener.StartListening(pTmp); + } + rFrame.EndListeningAll(); + return pRet; } } // namespace sw |