dynamic_cast<ModuleBase_WidgetValueFeature*>(theValue);
if (aFeatureValue) {
boost::shared_ptr<GeomAPI_Pnt2d> aPnt = aFeatureValue->point();
- FeaturePtr aFeature = aFeatureValue->feature();
+ ObjectPtr aObject = aFeatureValue->object();
+ FeaturePtr aFeature = boost::dynamic_pointer_cast<ModelAPI_Feature>(aObject);
if (aFeature && aPnt) {
setPoint(aFeature, aPnt);
isDone = true;
boost::shared_ptr<ModelAPI_Data> aData = theFeature->data();
boost::shared_ptr<GeomDataAPI_Point2D> aPoint = boost::dynamic_pointer_cast<GeomDataAPI_Point2D>
(aData->attribute(myFirstPntName));
+ if (!aPoint) return;
+
double aRadius = thePnt->distance(aPoint->pnt());
AttributeDoublePtr aReal = aData->real(attributeID());
if (aReal && (aReal->value() != aRadius)) {