]> OCCT Git - occt-copy.git/commitdiff
refs #1080: Swap child/father in RemoveFromGroup method of NotesTool. CR0_DMUReviewer_IR-2019-08-30_CR1080
authorsnn <snn@opencascade.com>
Tue, 14 Apr 2020 09:57:18 +0000 (12:57 +0300)
committersnn <snn@opencascade.com>
Mon, 20 Apr 2020 08:35:20 +0000 (11:35 +0300)
src/XCAFDoc/XCAFDoc_NotesTool.cxx

index 1cc1ef2926c69534cf492ede1f5a35a3dce152f5..96e8f0255baa06e0c8257ad62f780ea0f4242f49 100644 (file)
@@ -600,16 +600,16 @@ XCAFDoc_NotesTool::RemoveFromGroup(const TDF_Label& theGroupLabel,
   if (!IsGroup(theGroupLabel))
     return Standard_False;
 
-  Handle(XCAFDoc_GraphNode) aFather;
-  if (theGroupLabel.FindAttribute(XCAFDoc::NoteRefGUID(), aFather) && !aFather.IsNull())
+  Handle(XCAFDoc_GraphNode) aChild;
+  if (theNoteLabel.FindAttribute(XCAFDoc::NoteRefGUID(), aChild) && !aChild.IsNull())
   {
-    Standard_Integer nbChildren = aFather->NbChildren();
-    for (Standard_Integer iChild = 1; iChild <= nbChildren; ++iChild)
+    Standard_Integer nbFathers = aChild->NbFathers();
+    for (Standard_Integer iFather = 1; iFather <= nbFathers; ++iFather)
     {
-      Handle(XCAFDoc_GraphNode) aChild = aFather->GetChild(iChild);
-      if (!aChild.IsNull() && theNoteLabel.IsEqual(aChild->Label()))
+      Handle(XCAFDoc_GraphNode) aFather = aChild->GetFather(iFather);
+      if (!aFather.IsNull() && theGroupLabel.IsEqual(aFather->Label()))
       {
-        aFather->UnSetChild(aChild);
+        aChild->UnSetFather(aFather);
         return Standard_True;
       }
     }