From: kgv Date: Tue, 19 Sep 2017 07:02:37 +0000 (+0300) Subject: 0029062: Visualization, SelectMgr_ViewerSelector - add NULL-check within ::checkOverl... X-Git-Url: http://git.dev.opencascade.org/gitweb/?a=commitdiff_plain;h=248d4d314889eb5efcb6a5f7700fba0931954121;p=occt-copy.git 0029062: Visualization, SelectMgr_ViewerSelector - add NULL-check within ::checkOverlap() method --- diff --git a/src/SelectMgr/SelectMgr_ViewerSelector.cxx b/src/SelectMgr/SelectMgr_ViewerSelector.cxx index 3157a3b931..9f37d54e9d 100644 --- a/src/SelectMgr/SelectMgr_ViewerSelector.cxx +++ b/src/SelectMgr/SelectMgr_ViewerSelector.cxx @@ -177,6 +177,9 @@ void SelectMgr_ViewerSelector::checkOverlap (const Handle(SelectBasics_Sensitive if (!anOwner.IsNull()) { aSelectable = anOwner->Selectable(); + } + if (!aSelectable.IsNull()) + { if (!aSelectable->ClipPlanes().IsNull() && aSelectable->ClipPlanes()->ToOverrideGlobal()) { @@ -231,6 +234,7 @@ void SelectMgr_ViewerSelector::checkOverlap (const Handle(SelectBasics_Sensitive } if (HasDepthClipping (anOwner) + && !aSelectable.IsNull() && theMgr.GetActiveSelectionType() == SelectMgr_SelectingVolumeManager::Point) { Standard_Boolean isClipped = mySelectingVolumeMgr.IsClipped (*aSelectable->ClipPlanes(), @@ -240,7 +244,7 @@ void SelectMgr_ViewerSelector::checkOverlap (const Handle(SelectBasics_Sensitive } SelectMgr_SortCriterion aCriterion; - myZLayerOrderMap.Find (aSelectable->ZLayer(), aCriterion.ZLayerPosition); + myZLayerOrderMap.Find (!aSelectable.IsNull() ? aSelectable->ZLayer() : Graphic3d_ZLayerId_Default, aCriterion.ZLayerPosition); aCriterion.Entity = theEntity; aCriterion.Priority = anOwner->Priority(); aCriterion.Depth = aPickResult.Depth();