From 5e6ba08f2f1ecd11ba81b28830f349bc26f045b3 Mon Sep 17 00:00:00 2001 From: Michael Stahl Date: Mon, 7 May 2018 17:44:44 +0200 Subject: hack in Show - not sure if... Change-Id: I6ca49cfe9c61b3562e87ca994b284e056c2bab54 --- sw/source/core/doc/docredln.cxx | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/sw/source/core/doc/docredln.cxx b/sw/source/core/doc/docredln.cxx index 1e31e7150324..f46749e24830 100644 --- a/sw/source/core/doc/docredln.cxx +++ b/sw/source/core/doc/docredln.cxx @@ -60,6 +60,7 @@ #include #include +#include using namespace com::sun::star; @@ -1673,6 +1674,20 @@ void SwRangeRedline::MoveFromSection(size_t nMyPos) *pItem = *Start(); for( auto& pItem : aBehindArr ) *pItem = *End(); + + // sw_redlinehide: assume that Show will only be called by filters; + // when it is called, ensure that no MergedPara instance survives + for (SwNodeIndex node = Start()->nNode; node.GetIndex() <= End()->nNode.GetIndex(); ++node) + { + if (SwTextNode const*const pNode = node.GetNode().GetTextNode()) + { + SwIterator aIter(*pNode); + for (SwTextFrame* pFrame = aIter.First(); pFrame; pFrame = aIter.Next()) + { + pFrame->SetMergedPara(nullptr); + } + } + } } else InvalidateRange(); -- cgit v1.2.3