Kaydet (Commit) 83487b49 authored tarafından Michael Stahl's avatar Michael Stahl

sw_redlinehide_2: reset node's merge flag in SwTextNode::JoinNext/JoinPrev

... if the deleted node was the only one it was merged with.

Change-Id: I7b73bb3bfa92d285c06cfb24e0bae4e81708dbb8
üst 15f1555d
...@@ -759,6 +759,35 @@ void SwTextNode::MoveTextAttr_To_AttrSet() ...@@ -759,6 +759,35 @@ void SwTextNode::MoveTextAttr_To_AttrSet()
} }
namespace {
void CheckResetRedlineMergeFlag(SwTextNode & rNode)
{
if (rNode.GetRedlineMergeFlag() != SwNode::Merge::None)
{
SwIterator<SwTextFrame, SwTextNode, sw::IteratorMode::UnwrapMulti> aIter(rNode);
for (SwTextFrame * pFrame = aIter.First(); pFrame; pFrame = aIter.Next())
{
if (auto const pMergedPara = pFrame->GetMergedPara())
{
if (pMergedPara->pFirstNode == pMergedPara->pLastNode)
{
assert(pMergedPara->pFirstNode == &rNode);
rNode.SetRedlineMergeFlag(SwNode::Merge::None);
}
break; // checking once is enough
}
else if (pFrame->getRootFrame()->IsHideRedlines())
{
rNode.SetRedlineMergeFlag(SwNode::Merge::None);
break; // checking once is enough
}
}
}
}
} // namespace
SwContentNode *SwTextNode::JoinNext() SwContentNode *SwTextNode::JoinNext()
{ {
SwNodes& rNds = GetNodes(); SwNodes& rNds = GetNodes();
...@@ -845,6 +874,7 @@ SwContentNode *SwTextNode::JoinNext() ...@@ -845,6 +874,7 @@ SwContentNode *SwTextNode::JoinNext()
SetGrammarCheck( pList3, false ); SetGrammarCheck( pList3, false );
SetSmartTags( pList2, false ); SetSmartTags( pList2, false );
InvalidateNumRule(); InvalidateNumRule();
CheckResetRedlineMergeFlag(*this);
} }
else { else {
OSL_FAIL( "No TextNode." ); OSL_FAIL( "No TextNode." );
...@@ -939,6 +969,7 @@ void SwTextNode::JoinPrev() ...@@ -939,6 +969,7 @@ void SwTextNode::JoinPrev()
SetGrammarCheck( pList3, false ); SetGrammarCheck( pList3, false );
SetSmartTags( pList2, false ); SetSmartTags( pList2, false );
InvalidateNumRule(); InvalidateNumRule();
CheckResetRedlineMergeFlag(*this);
} }
else { else {
OSL_FAIL( "No TextNode." ); OSL_FAIL( "No TextNode." );
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment