From 935f47b49a24bebd9537a394ae4697a2210b3718 Mon Sep 17 00:00:00 2001 From: jfa Date: Wed, 7 Apr 2021 11:40:50 +0300 Subject: [PATCH] Bos #24043: EDF 23094 - problem with dump. --- .../ModuleBase_WidgetSelectionFilter.cpp | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) diff --git a/src/ModuleBase/ModuleBase_WidgetSelectionFilter.cpp b/src/ModuleBase/ModuleBase_WidgetSelectionFilter.cpp index 024e2d019..8e44be6a9 100644 --- a/src/ModuleBase/ModuleBase_WidgetSelectionFilter.cpp +++ b/src/ModuleBase/ModuleBase_WidgetSelectionFilter.cpp @@ -476,7 +476,19 @@ void ModuleBase_WidgetSelectionFilter::onSelect() bool isValid = aSession->filters()->isValid(myFeature, aBody, aSubShape); if (isValid) { aBuilder.Add(aComp, aTShape); - ModuleBase_ViewerPrsPtr aValue(new ModuleBase_ViewerPrs(aObj, aSubShape)); + // bos #24043: Naming on a compsolid works wrong. + // Find a simple sub-result for the ViewerPrs context: + ObjectPtr aSubResultObj = aObj; + for (int aSubIndex = 0; aSubIndex < aBody->numberOfSubs(); aSubIndex++) { + ResultBodyPtr aSubResult = aBody->subResult(aSubIndex); + GeomShapePtr aSubResultShape = aSubResult->shape(); + if (aSubResultShape->isSubShape(aSubShape)) { + aSubResultObj = aSubResult; + break; + } + } + ModuleBase_ViewerPrsPtr aValue(new ModuleBase_ViewerPrs(aSubResultObj, aSubShape)); + //ModuleBase_ViewerPrsPtr aValue(new ModuleBase_ViewerPrs(aObj, aSubShape)); myValues.append(aValue); } } -- 2.39.2