]> 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)
committersnn <snn@opencascade.com>
Tue, 25 May 2021 07:01:56 +0000 (10:01 +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 efa73c447d0abdf0602c972f52bd432dcb46fc08..277d994c58a2c82ba2a78a87a2c098dc63fdb153 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);