summaryrefslogtreecommitdiff
path: root/sw/source/core/doc/doclay.cxx
diff options
context:
space:
mode:
authorMichael Stahl <mstahl@redhat.com>2012-02-22 23:58:04 +0100
committerPetr Mladek <pmladek@suse.cz>2012-02-24 15:20:30 +0100
commitaa7eee949ad48085589863c4f2e16d27ab972fa2 (patch)
tree5b494b7358e73bf7e5b7b1d4c0c7d1e55eccca70 /sw/source/core/doc/doclay.cxx
parenteda71e73a401458acdb58a26841791de1d23c2c5 (diff)
fdo#46482: prevent duplication of frames:
SwDoc::MakeFlySection: abuse the SwDoc::mbRedlineMove flag, which (with the fix for fdo#40599) does exactly what is necessary to prevent the spurious copies. Also, remove the ugly hack to work around this problem from SwXText::convertToTextFrame. (cherry picked from commit 91fab30f3b1617024ee2eadf3c7ad1ea84d7f6dd)
Diffstat (limited to 'sw/source/core/doc/doclay.cxx')
-rw-r--r--sw/source/core/doc/doclay.cxx3
1 files changed, 3 insertions, 0 deletions
diff --git a/sw/source/core/doc/doclay.cxx b/sw/source/core/doc/doclay.cxx
index a2ae20977827..59377f99b304 100644
--- a/sw/source/core/doc/doclay.cxx
+++ b/sw/source/core/doc/doclay.cxx
@@ -840,8 +840,10 @@ if( GetIDocumentUndoRedo().DoesUndo() )
SwPaM* pTmp = (SwPaM*)&rPam;
sal_Bool bOldFlag = mbCopyIsMove;
bool const bOldUndo = GetIDocumentUndoRedo().DoesUndo();
+ bool const bOldRedlineMove(IsRedlineMove());
mbCopyIsMove = sal_True;
GetIDocumentUndoRedo().DoUndo(false);
+ SetRedlineMove(true);
do {
if( pTmp->HasMark() &&
*pTmp->GetPoint() != *pTmp->GetMark() )
@@ -850,6 +852,7 @@ if( GetIDocumentUndoRedo().DoesUndo() )
}
pTmp = static_cast<SwPaM*>(pTmp->GetNext());
} while ( &rPam != pTmp );
+ SetRedlineMove(bOldRedlineMove);
mbCopyIsMove = bOldFlag;
GetIDocumentUndoRedo().DoUndo(bOldUndo);