diff --git a/src/Mod/TechDraw/App/DrawViewBalloon.cpp b/src/Mod/TechDraw/App/DrawViewBalloon.cpp index ea70fb5fd4..c151ced41f 100644 --- a/src/Mod/TechDraw/App/DrawViewBalloon.cpp +++ b/src/Mod/TechDraw/App/DrawViewBalloon.cpp @@ -131,22 +131,37 @@ void DrawViewBalloon::onDocumentRestored() void DrawViewBalloon::handleChangedPropertyType(Base::XMLReader &reader, const char *TypeName, App::Property *prop) // transforms properties that had been changed { - // also check for changed properties of the base class - DrawView::handleChangedPropertyType(reader, TypeName, prop); + // also check for changed properties of the base class + DrawView::handleChangedPropertyType(reader, TypeName, prop); - // property OriginX had the App::PropertyFloat and was changed to App::PropertyLength - if (prop == &OriginX && strcmp(TypeName, "App::PropertyFloat") == 0) { - App::PropertyFloat OriginXProperty; - // restore the PropertyFloat to be able to set its value - OriginXProperty.Restore(reader); - OriginX.setValue(OriginXProperty.getValue()); - } - // property OriginY had the App::PropertyFloat and was changed to App::PropertyLength - else if (prop == &OriginY && strcmp(TypeName, "App::PropertyFloat") == 0) { - App::PropertyFloat OriginYProperty; - OriginYProperty.Restore(reader); - OriginY.setValue(OriginYProperty.getValue()); - } + // property OriginX had the App::PropertyFloat and was changed to App::PropertyDistance + if ( (prop == &OriginX) && + (strcmp(TypeName, "App::PropertyFloat") == 0) ) { + App::PropertyFloat OriginXProperty; + // restore the PropertyFloat to be able to set its value + OriginXProperty.Restore(reader); + OriginX.setValue(OriginXProperty.getValue()); + } else if ( (prop == &OriginX) && + (strcmp(TypeName, "App::PropertyLength") == 0) ) { + App::PropertyLength OriginXProperty; + // restore the PropertyFloat to be able to set its value + OriginXProperty.Restore(reader); + OriginX.setValue(OriginXProperty.getValue()); + + // property OriginY had the App::PropertyFloat and was changed to App::PropertyDistance + } else if ( (prop == &OriginY) && + (strcmp(TypeName, "App::PropertyFloat") == 0) ) { + App::PropertyFloat OriginYProperty; + // restore the PropertyFloat to be able to set its value + OriginYProperty.Restore(reader); + OriginY.setValue(OriginYProperty.getValue()); + } else if ( (prop == &OriginY) && + (strcmp(TypeName, "App::PropertyLength") == 0) ) { + App::PropertyLength OriginYProperty; + // restore the PropertyLength to be able to set its value + OriginYProperty.Restore(reader); + OriginY.setValue(OriginYProperty.getValue()); + } } diff --git a/src/Mod/TechDraw/App/DrawViewBalloon.h b/src/Mod/TechDraw/App/DrawViewBalloon.h index e2ecb219b0..3b643832db 100644 --- a/src/Mod/TechDraw/App/DrawViewBalloon.h +++ b/src/Mod/TechDraw/App/DrawViewBalloon.h @@ -54,8 +54,8 @@ public: App::PropertyEnumeration EndType; App::PropertyEnumeration Symbol; App::PropertyFloat SymbolScale; - App::PropertyLength OriginX; - App::PropertyLength OriginY; + App::PropertyDistance OriginX; + App::PropertyDistance OriginY; App::PropertyBool OriginIsSet; App::PropertyFloat TextWrapLen;