diff options
author | Mike Kaganski <mike.kaganski@collabora.com> | 2017-02-07 12:20:10 +0300 |
---|---|---|
committer | Mike Kaganski <mike.kaganski@collabora.com> | 2017-02-10 08:47:39 +0000 |
commit | d4036d3a89b65a4912f62e3930eb1a31cd90a16b (patch) | |
tree | d36270f621e6d63125d481144a96f192ce96f401 | |
parent | 36bd85083df62efc0877c3d87b8e53c720f5e0d8 (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>
-rw-r--r-- | sw/source/core/doc/DocumentContentOperationsManager.cxx | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/sw/source/core/doc/DocumentContentOperationsManager.cxx b/sw/source/core/doc/DocumentContentOperationsManager.cxx index 88d5bfdc04fa..1e7ce9ddca56 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(), |