]> 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>
Wed, 12 Feb 2020 22:19:49 +0000 (01:19 +0300)
(cherry picked from commit 6131065fae2474309c617039ad5be15f1f05a813)
(cherry picked from commit 713624228050b8f7db4d8b2e22c7edfd8c832471)
(cherry picked from commit b7fb7db6ae971efcf9ce0b5283a89328c4dce1bb)
(cherry picked from commit 68be9e7b9c5851087d57aeec9809012e4dc460b8)

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);