X-Git-Url: http://git.salome-platform.org/gitweb/?a=blobdiff_plain;f=src%2FPartSet%2FPartSet_MenuMgr.cpp;h=1664be7692736498a7cd55c83dd4d6c7c301c247;hb=e419ba088664a34ae78e0fe9fa899152d99107ff;hp=e453a552554d43bf271df38a0370c5203fbd917c;hpb=b1a9aba9a812f170668d0f4e04b3501d91da425e;p=modules%2Fshaper.git diff --git a/src/PartSet/PartSet_MenuMgr.cpp b/src/PartSet/PartSet_MenuMgr.cpp index e453a5525..1664be769 100644 --- a/src/PartSet/PartSet_MenuMgr.cpp +++ b/src/PartSet/PartSet_MenuMgr.cpp @@ -9,6 +9,8 @@ #include "PartSet_SketcherMgr.h" #include "PartSet_Tools.h" +#include + #include #include @@ -470,10 +472,16 @@ void PartSet_MenuMgr::onActivatePart(bool) { QObjectPtrList aObjects = myModule->workshop()->selection()->selectedObjects(); if (aObjects.size() > 0) { - ResultPartPtr aPart = std::dynamic_pointer_cast(aObjects.first()); - if (aPart) { - aPart->activate(); + ObjectPtr aObj = aObjects.first(); + ResultPartPtr aPart = std::dynamic_pointer_cast(aObj); + if (!aPart.get()) { + FeaturePtr aPartFeature = std::dynamic_pointer_cast(aObj); + if (aPartFeature.get() && (aPartFeature->getKind() == PartSetPlugin_Part::ID())) { + aPart = std::dynamic_pointer_cast(aPartFeature->firstResult()); + } } + if (aPart.get()) + aPart->activate(); } }