From: alex Date: Tue, 15 Oct 2019 11:59:45 +0000 (+0300) Subject: temporary patch to avoid deactivate selection on children after the parent's hiding X-Git-Url: http://git.dev.opencascade.org/gitweb/?a=commitdiff_plain;h=ba382e61dbc100e3bf1d00eef7a1106a3ec57ea3;p=occt-copy.git temporary patch to avoid deactivate selection on children after the parent's hiding --- diff --git a/src/SelectMgr/SelectMgr_SelectionManager.cxx b/src/SelectMgr/SelectMgr_SelectionManager.cxx index 195ed54c75..aeb445aa91 100644 --- a/src/SelectMgr/SelectMgr_SelectionManager.cxx +++ b/src/SelectMgr/SelectMgr_SelectionManager.cxx @@ -185,9 +185,12 @@ void SelectMgr_SelectionManager::Activate (const Handle(SelectMgr_SelectableObje void SelectMgr_SelectionManager::Deactivate (const Handle(SelectMgr_SelectableObject)& theObject, const Standard_Integer theMode) { - for (PrsMgr_ListOfPresentableObjectsIter anChildrenIter (theObject->Children()); anChildrenIter.More(); anChildrenIter.Next()) + if (theObject->ToPropagateVisualState()) { - Deactivate (Handle(SelectMgr_SelectableObject)::DownCast (anChildrenIter.Value()), theMode); + for (PrsMgr_ListOfPresentableObjectsIter anChildrenIter(theObject->Children()); anChildrenIter.More(); anChildrenIter.Next()) + { + Deactivate(Handle(SelectMgr_SelectableObject)::DownCast(anChildrenIter.Value()), theMode); + } } if (!theObject->HasOwnPresentations()) {