sw/source/core/txtnode/ndtxt.cxx | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-)
New commits: commit 9634f5ee73e57e8cef75461316d5d45b06ee104f Author: Noel Grandin <noel.gran...@collabora.co.uk> AuthorDate: Mon Apr 1 17:03:05 2019 +0200 Commit: Noel Grandin <noel.gran...@collabora.co.uk> CommitDate: Mon Apr 1 18:59:24 2019 +0200 tdf#122926 FILEOPEN ODT Slower compared to the past on my machine, this takes the time from 12.3s to 8.9s Change-Id: Ibdc7e3c34d1acb0d1f7f784720552fa6c7977fa5 Reviewed-on: https://gerrit.libreoffice.org/70074 Reviewed-by: Noel Grandin <noel.gran...@collabora.co.uk> Tested-by: Noel Grandin <noel.gran...@collabora.co.uk> diff --git a/sw/source/core/txtnode/ndtxt.cxx b/sw/source/core/txtnode/ndtxt.cxx index d384ce19b7d1..377618f2cab8 100644 --- a/sw/source/core/txtnode/ndtxt.cxx +++ b/sw/source/core/txtnode/ndtxt.cxx @@ -1394,7 +1394,7 @@ void SwTextNode::Update( bool bAtLeastOneBookmarkMoved = false; bool bAtLeastOneExpandedBookmarkAtInsertionPosition = false; // A text node already knows its marks via its SwIndexes. - std::set<const sw::mark::IMark*> aSeenMarks; + std::unordered_set<const sw::mark::IMark*> aSeenMarks; const SwIndex* next; for (const SwIndex* pIndex = GetFirstIndex(); pIndex; pIndex = next ) { @@ -1403,9 +1403,8 @@ void SwTextNode::Update( if (!pMark) continue; // Only handle bookmarks once, if they start and end at this node as well. - if (aSeenMarks.find(pMark) != aSeenMarks.end()) + if (!aSeenMarks.insert(pMark).second) continue; - aSeenMarks.insert(pMark); const SwPosition* pEnd = &pMark->GetMarkEnd(); SwIndex & rEndIdx = const_cast<SwIndex&>(pEnd->nContent); if( this == &pEnd->nNode.GetNode() && _______________________________________________ Libreoffice-commits mailing list libreoffice-comm...@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/libreoffice-commits