- std::shared_ptr<GeomAPI_Shape> aSelection =
- data()->selection(SketchPlugin_SketchEntity::EXTERNAL_ID())->value();
- if (aSelection) { // update arguments due to the selection value
+ AttributeSelectionPtr aSelAttr = selection(SketchPlugin_SketchEntity::EXTERNAL_ID());
+ if (aSelAttr->context().get()) { // update arguments due to the selection value
+ std::shared_ptr<GeomAPI_Shape> aSelection = aSelAttr->value();
+ if (!aSelection.get()) aSelection = aSelAttr->context()->shape();