]> 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, 2 Sep 2019 13:17:47 +0000 (16:17 +0300)
(cherry picked from commit 6131065fae2474309c617039ad5be15f1f05a813)
(cherry picked from commit 713624228050b8f7db4d8b2e22c7edfd8c832471)
(cherry picked from commit b7fb7db6ae971efcf9ce0b5283a89328c4dce1bb)

src/XCAFDoc/XCAFDoc_GraphNode.cxx

index 7ce30e7af5ccabb2ee939c11ce10e8c6f26a7116..46e835cd13880a14eadc82efcd45300433f5dbc3 100644 (file)
@@ -378,6 +378,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);
     }
   }
 
@@ -391,6 +393,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);