[Libreoffice-commits] core.git: sw/source
Bjoern Michaelsen
bjoern.michaelsen at canonical.com
Thu Nov 20 10:26:07 PST 2014
sw/source/core/doc/DocumentContentOperationsManager.cxx | 82 +++++++---------
1 file changed, 40 insertions(+), 42 deletions(-)
New commits:
commit 935848ec927a23772d078b82dc3d169e4fd763d0
Author: Bjoern Michaelsen <bjoern.michaelsen at canonical.com>
Date: Thu Nov 20 17:24:13 2014 +0100
expand complex cascading conditional operator, step 3
Change-Id: I0bfa2d09b2f3048ada2518868bcee32689ecb6ca
Reviewed-on: https://gerrit.libreoffice.org/13010
Reviewed-by: Björn Michaelsen <bjoern.michaelsen at canonical.com>
Tested-by: Björn Michaelsen <bjoern.michaelsen at canonical.com>
diff --git a/sw/source/core/doc/DocumentContentOperationsManager.cxx b/sw/source/core/doc/DocumentContentOperationsManager.cxx
index 2539bf7..6e10d06 100644
--- a/sw/source/core/doc/DocumentContentOperationsManager.cxx
+++ b/sw/source/core/doc/DocumentContentOperationsManager.cxx
@@ -3225,60 +3225,58 @@ void DocumentContentOperationsManager::CopyFlyInFlyImpl(
: rRg.aStart > pAPos->nNode )
continue;
}
+ if ( pAPos->nNode > rRg.aEnd )
+ continue;
+ //frames at the last source node are not always copied:
+ //- if the node is empty and is the last node of the document or a table cell
+ // or a text frame then tey have to be copied
+ //- if the content index in this node is > 0 then paragph and frame bound objects are copied
+ //- to-character bound objects are copied if their index is <= nEndContentIndex
+ bool bAdd = false;
+ if( pAPos->nNode < rRg.aEnd )
+ bAdd = true;
+ if (!bAdd && !m_rDoc.getIDocumentRedlineAccess().IsRedlineMove()) // fdo#40599: not for redline move
{
- if ( pAPos->nNode > rRg.aEnd )
- continue;
- //frames at the last source node are not always copied:
- //- if the node is empty and is the last node of the document or a table cell
- // or a text frame then tey have to be copied
- //- if the content index in this node is > 0 then paragph and frame bound objects are copied
- //- to-character bound objects are copied if their index is <= nEndContentIndex
- bool bAdd = false;
- if( pAPos->nNode < rRg.aEnd )
- bAdd = true;
- if (!bAdd && !m_rDoc.getIDocumentRedlineAccess().IsRedlineMove()) // fdo#40599: not for redline move
+ bool bEmptyNode = false;
+ bool bLastNode = false;
+ // is the node empty?
+ const SwNodes& rNodes = pAPos->nNode.GetNodes();
+ SwTxtNode* pTxtNode;
+ if( 0 != ( pTxtNode = pAPos->nNode.GetNode().GetTxtNode() ))
{
- bool bEmptyNode = false;
- bool bLastNode = false;
- // is the node empty?
- const SwNodes& rNodes = pAPos->nNode.GetNodes();
- SwTxtNode* pTxtNode;
- if( 0 != ( pTxtNode = pAPos->nNode.GetNode().GetTxtNode() ))
+ bEmptyNode = pTxtNode->GetTxt().isEmpty();
+ if( bEmptyNode )
{
- bEmptyNode = pTxtNode->GetTxt().isEmpty();
- if( bEmptyNode )
+ //last node information is only necessary to know for the last TextNode
+ SwNodeIndex aTmp( pAPos->nNode );
+ ++aTmp;//goto next node
+ while (aTmp.GetNode().IsEndNode())
{
- //last node information is only necessary to know for the last TextNode
- SwNodeIndex aTmp( pAPos->nNode );
- ++aTmp;//goto next node
- while (aTmp.GetNode().IsEndNode())
+ if( aTmp == rNodes.GetEndOfContent().GetIndex() )
{
- if( aTmp == rNodes.GetEndOfContent().GetIndex() )
- {
- bLastNode = true;
- break;
- }
- ++aTmp;
+ bLastNode = true;
+ break;
}
+ ++aTmp;
}
}
- bAdd = bLastNode && bEmptyNode;
- if( !bAdd )
- {
- if( bAtCntnt )
- bAdd = nEndContentIndex > 0;
- else
- bAdd = pAPos->nContent <= nEndContentIndex;
- }
}
- if( bAdd )
+ bAdd = bLastNode && bEmptyNode;
+ if( !bAdd )
{
- // Make sure draw formats don't refer to content, so that such
- // content can be removed without problems.
- SwTextBoxHelper::resetLink(pFmt, aOldContent);
- aSet.insert( _ZSortFly( pFmt, pAnchor, nArrLen + aSet.size() ));
+ if( bAtCntnt )
+ bAdd = nEndContentIndex > 0;
+ else
+ bAdd = pAPos->nContent <= nEndContentIndex;
}
}
+ if( bAdd )
+ {
+ // Make sure draw formats don't refer to content, so that such
+ // content can be removed without problems.
+ SwTextBoxHelper::resetLink(pFmt, aOldContent);
+ aSet.insert( _ZSortFly( pFmt, pAnchor, nArrLen + aSet.size() ));
+ }
}
// Store all copied (and also the newly created) frames in another array.
More information about the Libreoffice-commits
mailing list