From 0996bff80cb4f4f6803bce925f2df7a310317820 Mon Sep 17 00:00:00 2001 From: Michael Stahl Date: Thu, 9 Aug 2018 15:10:13 +0200 Subject: sw_redlinehide_2: fix ordering of SplitNode usage of ContentIdxStore 2 The flys have their anchor positions updated, and that causes lookups from the layout frame to the anchor SwTextFrame, but that isn't updated yet; it looks like the fly restore must be done after adapting the SwTextFrames, while the redline restore must be done before. Also RegisterToNode must call Check only for the 1st node. Change-Id: If87a62108f1bcaf794e5be1cc38dc936f08cd69e --- sw/source/core/layout/ssfrm.cxx | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) (limited to 'sw/source/core/layout/ssfrm.cxx') diff --git a/sw/source/core/layout/ssfrm.cxx b/sw/source/core/layout/ssfrm.cxx index abe62e8b3968..3a37ae92bc7f 100644 --- a/sw/source/core/layout/ssfrm.cxx +++ b/sw/source/core/layout/ssfrm.cxx @@ -443,8 +443,15 @@ SwContentFrame::~SwContentFrame() void SwTextFrame::RegisterToNode(SwTextNode & rNode) { assert(&rNode != GetDep()); + assert(!m_pMergedPara + || (m_pMergedPara->pFirstNode->GetIndex() < rNode.GetIndex()) + || (rNode.GetIndex() + 1 == m_pMergedPara->pFirstNode->GetIndex())); + SwTextNode & rFirstNode( + (m_pMergedPara && m_pMergedPara->pFirstNode->GetIndex() < rNode.GetIndex()) + ? *m_pMergedPara->pFirstNode + : rNode); // sw_redlinehide: use New here, because the only caller also calls lcl_ChangeFootnoteRef - m_pMergedPara = sw::CheckParaRedlineMerge(*this, rNode, sw::FrameMode::New); + m_pMergedPara = sw::CheckParaRedlineMerge(*this, rFirstNode, sw::FrameMode::New); if (!m_pMergedPara) { rNode.Add(this); -- cgit v1.2.3