sw/source/core/text/txtfrm.cxx | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-)
New commits: commit 3dfa702ad8edff68ec70ac8d8cdad91c7e9157a9 Author: Michael Stahl <michael.st...@cib.de> AuthorDate: Fri Sep 21 15:51:02 2018 +0200 Commit: Michael Stahl <michael.st...@cib.de> CommitDate: Mon Oct 1 10:37:13 2018 +0200 sw_redlinehide_2: avoid adjacent extents in UpdateMergedParaForDelete It's more efficient to keep the vector small, and UpdateMergedParaForInsert() may even assert in this case, so merge the extents. Change-Id: I8ffe47f27f667b4030d62db8f0119e45bfd62767 Reviewed-on: https://gerrit.libreoffice.org/60931 Tested-by: Jenkins Reviewed-by: Michael Stahl <michael.st...@cib.de> diff --git a/sw/source/core/text/txtfrm.cxx b/sw/source/core/text/txtfrm.cxx index 9853beda6a09..fd9e02c5844e 100644 --- a/sw/source/core/text/txtfrm.cxx +++ b/sw/source/core/text/txtfrm.cxx @@ -855,7 +855,7 @@ TextFrameIndex UpdateMergedParaForDelete(MergedPara & rMerged, if (it->pNode == &rNode) { ++nFoundNode; - if (nIndex + nToDelete <= it->nStart) + if (nIndex + nToDelete < it->nStart) { nToDelete = 0; if (!isRealDelete) @@ -891,6 +891,15 @@ TextFrameIndex UpdateMergedParaForDelete(MergedPara & rMerged, { // adjust for deleted text it->nStart -= (nLen - nToDelete); it->nEnd -= (nLen - nToDelete + nDeleteHere); + if (it != rMerged.extents.begin() + && (it-1)->pNode == &rNode + && (it-1)->nEnd == it->nStart) + { // merge adjacent extents + nTFIndex += it->nEnd - it->nStart; + (it-1)->nEnd = it->nEnd; + it = rMerged.extents.erase(it); + bErase = true; // skip increment + } } else { // exclude text marked as deleted _______________________________________________ Libreoffice-commits mailing list libreoffice-comm...@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/libreoffice-commits