]> OCCT Git - occt-copy.git/commitdiff
0030392: XCAFDoc_GraphNode doesn't copy backward links
authorsnn <snn@opencascade.com>
Fri, 30 Nov 2018 07:39:15 +0000 (10:39 +0300)
committernds <nds@opencascade.com>
Mon, 29 Mar 2021 09:56:47 +0000 (12:56 +0300)
(cherry picked from commit 6131065fae2474309c617039ad5be15f1f05a813)
(cherry picked from commit 713624228050b8f7db4d8b2e22c7edfd8c832471)
(cherry picked from commit b7fb7db6ae971efcf9ce0b5283a89328c4dce1bb)
(cherry picked from commit 68be9e7b9c5851087d57aeec9809012e4dc460b8)
(cherry picked from commit 6bc54a6b6fc335b802959d612f0ed4edbb5d5c33)
(cherry picked from commit ca5e48596204efa0b86bcbe6a60ce1bf612341a1)
(cherry picked from commit fcc93b4f342c14aed2ee39a4cfe14bbcb6e54ad4)

src/XCAFDoc/XCAFDoc_GraphNode.cxx

index 673064bf4866bda522d6de5c8bcd1a8dd88daa68..b07d59ca0cbb86698ce9cc7173d65692fac131bc 100644 (file)
@@ -379,6 +379,8 @@ void XCAFDoc_GraphNode::Paste(const Handle(TDF_Attribute)& into,
     if (!func.IsNull())
     {
       intof->SetFather(func);
+      if (func->ChildIndex(this) && !func->ChildIndex(intof))
+        func->SetChild(intof);
     }
   }
 
@@ -392,6 +394,8 @@ void XCAFDoc_GraphNode::Paste(const Handle(TDF_Attribute)& into,
     if (!func.IsNull())
     {
       intof->SetChild(func);
+      if (func->FatherIndex(this) && !func->FatherIndex(intof))
+        func->SetFather(intof);
     }
   }
   intof->SetGraphID(myGraphID);