Salome HOME
Avoid crash if there is no parent of selection attribute.
[modules/shaper.git] / src / SketchAPI / SketchAPI_Constraint.cpp
index 5098ce99f5b6896b7e8d9f62ac3c5ffb7d4a1c89..82b5dfab474f323c0f1634ec230e4b25c5f98cfa 100644 (file)
@@ -199,8 +199,14 @@ void SketchAPI_Constraint::dump(ModelHighAPI_Dumper& theDumper) const
     }
   }
 
-  AttributeDoublePtr aValueAttr = aBase->real(
-      isAngle ? SketchPlugin_ConstraintAngle::ANGLE_VALUE_ID() :SketchPlugin_Constraint::VALUE());
+  AttributeDoublePtr aValueAttr;
+  if (isAngle)
+    aValueAttr = aBase->real(SketchPlugin_ConstraintAngle::ANGLE_VALUE_ID());
+  else if (aBase->getKind() == SketchPlugin_ConstraintDistanceHorizontal::ID() ||
+           aBase->getKind() == SketchPlugin_ConstraintDistanceVertical::ID())
+    aValueAttr = aBase->real(SketchPlugin_ConstraintDistanceAlongDir::DISTANCE_VALUE_ID());
+  else
+    aValueAttr = aBase->real(SketchPlugin_Constraint::VALUE());
   if (aValueAttr && aValueAttr->isInitialized())
     theDumper << ", " << aValueAttr;