Measure: Fix crash when removing referenced element

Also improve error messages
Fixes #16183
This commit is contained in:
hlorus
2024-09-02 11:20:21 +02:00
committed by WandererFan
parent 6ef51daec1
commit b07b257542
9 changed files with 27 additions and 36 deletions

View File

@@ -119,16 +119,16 @@ void MeasureRadius::parseSelection(const App::MeasureSelection& selection)
App::DocumentObjectExecReturn* MeasureRadius::execute()
{
recalculateRadius();
auto info = getMeasureInfoFirst();
if (!info || !info->valid) {
return new App::DocumentObjectExecReturn("Cannot calculate radius");
}
Radius.setValue(info->radius);
return DocumentObject::StdReturn;
}
void MeasureRadius::recalculateRadius()
{
Radius.setValue(getMeasureInfoFirst()->radius);
}
void MeasureRadius::onChanged(const App::Property* prop)
{
if (isRestoring() || isRemoving()) {
@@ -136,7 +136,8 @@ void MeasureRadius::onChanged(const App::Property* prop)
}
if (prop == &Element) {
recalculateRadius();
auto ret = recompute();
delete ret;
}
MeasureBase::onChanged(prop);