svx/source/svdraw/clonelist.cxx |   50 ++++++++++++----------------------------
 1 file changed, 15 insertions(+), 35 deletions(-)

New commits:
commit 69384d208a2c40c14de73d67d3620596678bf502
Author:     Dr. David Alan Gilbert <d...@treblig.org>
AuthorDate: Sun May 21 18:29:16 2023 +0100
Commit:     Noel Grandin <noel.gran...@collabora.co.uk>
CommitDate: Wed May 24 08:13:16 2023 +0200

    CloneList::CopyConnections: Replace duplicated code by loop
    
    There's a chunk of code copied for the two ends of the connection;
    replace it by a loop with the original code.
    
    Change-Id: I80d80f61879a08612dd8314963cccb35651c2091
    Reviewed-on: https://gerrit.libreoffice.org/c/core/+/152073
    Tested-by: Jenkins
    Reviewed-by: Noel Grandin <noel.gran...@collabora.co.uk>

diff --git a/svx/source/svdraw/clonelist.cxx b/svx/source/svdraw/clonelist.cxx
index 1fe6bd99e478..ffb1ccc6766c 100644
--- a/svx/source/svdraw/clonelist.cxx
+++ b/svx/source/svdraw/clonelist.cxx
@@ -78,46 +78,26 @@ void CloneList::CopyConnections() const
 
         if(pOriginalEdge && pCloneEdge)
         {
-            SdrObject* pOriginalNode1 = pOriginalEdge->GetConnectedNode(true);
-            SdrObject* pOriginalNode2 = pOriginalEdge->GetConnectedNode(false);
-
-            if(pOriginalNode1)
+            for (bool bTail1 : { true, false })
             {
-                std::vector<const SdrObject*>::const_iterator it = 
std::find(maOriginalList.begin(),
-                                                                 
maOriginalList.end(),
-                                                                 
pOriginalNode1);
-
-                sal_uInt32 nPos = it - maOriginalList.begin();
-
-                if(it != maOriginalList.end())
+                SdrObject* pOriginalNode = 
pOriginalEdge->GetConnectedNode(bTail1);
+                if (pOriginalNode)
                 {
-                    SdrObject *cObj = nullptr;
+                    std::vector<const SdrObject*>::const_iterator it = 
std::find(maOriginalList.begin(),
+                                                                     
maOriginalList.end(),
+                                                                     
pOriginalNode);
 
-                    if (nPos < cloneCount)
-                        cObj = GetClone(nPos);
-
-                    if(pOriginalEdge->GetConnectedNode(true) != cObj)
-                        pCloneEdge->ConnectToNode(true, cObj);
-                }
-            }
-
-            if(pOriginalNode2)
-            {
-                std::vector<const SdrObject*>::const_iterator it = 
std::find(maOriginalList.begin(),
-                                                                 
maOriginalList.end(),
-                                                                 
pOriginalNode2);
-
-                sal_uInt32 nPos = it - maOriginalList.begin();
-
-                if(it != maOriginalList.end())
-                {
-                    SdrObject *cObj = nullptr;
+                    if(it != maOriginalList.end())
+                    {
+                        sal_uInt32 nPos = it - maOriginalList.begin();
+                        SdrObject *cObj = nullptr;
 
-                    if (nPos < cloneCount)
-                        cObj = GetClone(nPos);
+                        if (nPos < cloneCount)
+                            cObj = GetClone(nPos);
 
-                    if(pOriginalEdge->GetConnectedNode(false) != cObj)
-                        pCloneEdge->ConnectToNode(false, cObj);
+                        if(pOriginalNode != cObj)
+                            pCloneEdge->ConnectToNode(bTail1, cObj);
+                    }
                 }
             }
         }

Reply via email to