diff --git a/src/Mod/PartDesign/Gui/TaskFeaturePick.cpp b/src/Mod/PartDesign/Gui/TaskFeaturePick.cpp index dd59340daa..e639744216 100644 --- a/src/Mod/PartDesign/Gui/TaskFeaturePick.cpp +++ b/src/Mod/PartDesign/Gui/TaskFeaturePick.cpp @@ -138,8 +138,8 @@ TaskFeaturePick::TaskFeaturePick(std::vector& objects, // check if we need to set any origin in temporary visibility mode auto* datum = dynamic_cast(*objIt); - if (*statusIt != invalidShape && datum) { - App::Origin* origin = dynamic_cast(datum->getLCS()); + if ((*statusIt == validFeature || *statusIt == basePlane) && datum) { + auto* origin = dynamic_cast(datum->getLCS()); if (origin) { if ((*objIt)->isDerivedFrom()) { originVisStatus[origin].setFlag(Gui::DatumElement::Planes, true); @@ -155,7 +155,7 @@ TaskFeaturePick::TaskFeaturePick(std::vector& objects, for (const auto& originPair : originVisStatus) { const auto& origin = originPair.first; - Gui::ViewProviderCoordinateSystem* vpo = static_cast( + auto* vpo = static_cast( Gui::Application::Instance->getViewProvider(origin)); if (vpo) { vpo->setTemporaryVisibility(originVisStatus[origin]);