summaryrefslogtreecommitdiff
path: root/sw
diff options
context:
space:
mode:
authorMike Kaganski <mike.kaganski@collabora.com>2017-02-07 12:20:10 +0300
committerMike Kaganski <mike.kaganski@collabora.com>2017-03-29 15:54:56 +0000
commitda7740596a35c93f7813d02afad0f6e4d114f340 (patch)
tree8da298f4242379710d676dae5481c7636d8e6052 /sw
parent7b953f183b509b24f39a5b757da2a350233ce51f (diff)
tdf#105625 related: don't duplicate dummy character on copy
Change-Id: I5881887c7a0fd0c9ccd954a36482a3ada5103098 Reviewed-on: https://gerrit.libreoffice.org/34025 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com> (cherry picked from commit d4036d3a89b65a4912f62e3930eb1a31cd90a16b) Reviewed-on: https://gerrit.libreoffice.org/35861 Tested-by: Mike Kaganski <mike.kaganski@collabora.com>
Diffstat (limited to 'sw')
-rw-r--r--sw/source/core/doc/DocumentContentOperationsManager.cxx9
1 files changed, 9 insertions, 0 deletions
diff --git a/sw/source/core/doc/DocumentContentOperationsManager.cxx b/sw/source/core/doc/DocumentContentOperationsManager.cxx
index 9e64e0acdda6..a64433f399c3 100644
--- a/sw/source/core/doc/DocumentContentOperationsManager.cxx
+++ b/sw/source/core/doc/DocumentContentOperationsManager.cxx
@@ -266,6 +266,15 @@ namespace
lcl_SetCpyPos(pMark->GetOtherMarkPos(), rStt, *pCpyStt, *aTmpPam.GetMark(), nDelCount);
}
+ const IDocumentMarkAccess::MarkType aMarkType = IDocumentMarkAccess::GetType(*pMark);
+ if (aMarkType == IDocumentMarkAccess::MarkType::CHECKBOX_FIELDMARK)
+ {
+ // Node's CopyText() copies also dummy characters, which need to be removed
+ // (they will be added later in MarkBase::InitDoc inside IDocumentMarkAccess::makeMark)
+ // CHECKBOX_FIELDMARK doesn't contain any other data in its range, so just clear it
+ pDestDoc->getIDocumentContentOperations().DeleteRange(aTmpPam);
+ }
+
::sw::mark::IMark* const pNewMark = pDestDoc->getIDocumentMarkAccess()->makeMark(
aTmpPam,
pMark->GetName(),