diff --git a/src/Mod/TechDraw/App/DrawView.cpp b/src/Mod/TechDraw/App/DrawView.cpp index 3f3e0d35a2..dc10f2253b 100644 --- a/src/Mod/TechDraw/App/DrawView.cpp +++ b/src/Mod/TechDraw/App/DrawView.cpp @@ -363,6 +363,21 @@ void DrawView::handleChangedPropertyType( static_cast(prop)->setValue(link.getValue()); } } + + // property X had App::PropertyFloat and was changed to App::PropertyLength + // sb PropertyDistance. some X,Y are relative to existing point on page + } else if (prop == &X && strcmp(TypeName, "App::PropertyFloat") == 0) { + App::PropertyFloat XProperty; + XProperty.setContainer(this); + // restore the PropertyFloat to be able to set its value + XProperty.Restore(reader); + X.setValue(XProperty.getValue()); + } else if (prop == &Y && strcmp(TypeName, "App::PropertyFloat") == 0) { + App::PropertyFloat YProperty; + YProperty.setContainer(this); + YProperty.Restore(reader); + Y.setValue(YProperty.getValue()); + // property Rotation had App::PropertyFloat and was changed to App::PropertyAngle } else if (prop == &Rotation && strcmp(TypeName, "App::PropertyFloat") == 0) { App::PropertyFloat RotationProperty;