[Libreoffice-commits] core.git: sw/source

Michael Stahl (via logerrit) logerrit at kemper.freedesktop.org
Wed Sep 16 14:57:42 UTC 2020


 sw/source/core/unocore/unoportenum.cxx |   53 ++++++++++-----------------------
 1 file changed, 17 insertions(+), 36 deletions(-)

New commits:
commit 8f098afced6e974ef83c4d9de988822cb3854c9a
Author:     Michael Stahl <Michael.Stahl at cib.de>
AuthorDate: Tue Sep 15 13:49:02 2020 +0200
Commit:     Michael Stahl <michael.stahl at cib.de>
CommitDate: Wed Sep 16 16:56:43 2020 +0200

    sw: remove dead code in lcl_FillBookmarkArray()
    
    Change-Id: Idb9fbac5bd1c74f8ccd434a2337daea58b624e57
    Reviewed-on: https://gerrit.libreoffice.org/c/core/+/102738
    Tested-by: Jenkins
    Reviewed-by: Michael Stahl <michael.stahl at cib.de>

diff --git a/sw/source/core/unocore/unoportenum.cxx b/sw/source/core/unocore/unoportenum.cxx
index 17688f1a3351..17f0ac08431b 100644
--- a/sw/source/core/unocore/unoportenum.cxx
+++ b/sw/source/core/unocore/unoportenum.cxx
@@ -177,43 +177,24 @@ namespace
 
         const SwNodeIndex nOwnNode = rUnoCursor.GetPoint()->nNode;
         SwTextNode* pTextNode = nOwnNode.GetNode().GetTextNode();
-        if (!pTextNode)
-        {
-            // no need to consider marks starting after aEndOfPara
-            SwPosition aEndOfPara(*rUnoCursor.GetPoint());
-            aEndOfPara.nContent = aEndOfPara.nNode.GetNode().GetTextNode()->Len();
-            const IDocumentMarkAccess::const_iterator_t pCandidatesEnd =
-                pMarkAccess->findFirstBookmarkStartsAfter(aEndOfPara);
-
-            // search for all bookmarks that start or end in this paragraph
-            for(IDocumentMarkAccess::const_iterator_t ppMark = pMarkAccess->getBookmarksBegin();
-                ppMark != pCandidatesEnd;
-                ++ppMark)
-            {
-                ::sw::mark::IMark* const pBkmk = *ppMark;
-                lcl_FillBookmark(pBkmk, nOwnNode, rDoc, rBkmArr);
-            }
-        }
-        else
+        assert(pTextNode);
+        // A text node already knows its marks via its SwIndexes.
+        o3tl::sorted_vector<const sw::mark::IMark*> aSeenMarks;
+        for (const SwIndex* pIndex = pTextNode->GetFirstIndex(); pIndex; pIndex = pIndex->GetNext())
         {
-            // A text node already knows its marks via its SwIndexes.
-            o3tl::sorted_vector<const sw::mark::IMark*> aSeenMarks;
-            for (const SwIndex* pIndex = pTextNode->GetFirstIndex(); pIndex; pIndex = pIndex->GetNext())
-            {
-                // Need a non-cost mark here, as we'll create a UNO wrapper around it.
-                sw::mark::IMark* pBkmk = const_cast<sw::mark::IMark*>(pIndex->GetMark());
-                if (!pBkmk)
-                    continue;
-                IDocumentMarkAccess::MarkType eType = IDocumentMarkAccess::GetType(*pBkmk);
-                // These are the types stored in the container otherwise accessible via getBookmarks*()
-                if (eType != IDocumentMarkAccess::MarkType::BOOKMARK && eType != IDocumentMarkAccess::MarkType::CROSSREF_NUMITEM_BOOKMARK &&
-                    eType != IDocumentMarkAccess::MarkType::CROSSREF_HEADING_BOOKMARK)
-                    continue;
-                // Only handle bookmarks once, if they start and end at this node as well.
-                if (!aSeenMarks.insert(pBkmk).second)
-                    continue;
-                lcl_FillBookmark(pBkmk, nOwnNode, rDoc, rBkmArr);
-            }
+            // Need a non-cost mark here, as we'll create a UNO wrapper around it.
+            sw::mark::IMark* pBkmk = const_cast<sw::mark::IMark*>(pIndex->GetMark());
+            if (!pBkmk)
+                continue;
+            IDocumentMarkAccess::MarkType eType = IDocumentMarkAccess::GetType(*pBkmk);
+            // These are the types stored in the container otherwise accessible via getBookmarks*()
+            if (eType != IDocumentMarkAccess::MarkType::BOOKMARK && eType != IDocumentMarkAccess::MarkType::CROSSREF_NUMITEM_BOOKMARK &&
+                eType != IDocumentMarkAccess::MarkType::CROSSREF_HEADING_BOOKMARK)
+                continue;
+            // Only handle bookmarks once, if they start and end at this node as well.
+            if (!aSeenMarks.insert(pBkmk).second)
+                continue;
+            lcl_FillBookmark(pBkmk, nOwnNode, rDoc, rBkmArr);
         }
     }
 


More information about the Libreoffice-commits mailing list