diff --git a/src/Mod/TechDraw/Gui/QGIViewDimension.cpp b/src/Mod/TechDraw/Gui/QGIViewDimension.cpp index 48cc8d5470..3844f34569 100644 --- a/src/Mod/TechDraw/Gui/QGIViewDimension.cpp +++ b/src/Mod/TechDraw/Gui/QGIViewDimension.cpp @@ -513,6 +513,14 @@ QVariant QGIViewDimension::itemChange(GraphicsItemChange change, const QVariant& datumLabel->setSelected(false); } draw(); + return value; + } + if(change == ItemPositionChange && scene()) { + // QGIVDimension doesn't really change position the way other views do. + // If we call QGIView::itemChange it will set the position to (0,0) instead of + // using the label's position, and the Dimension will be in the wrong place. + // QGIVBalloon behaves the same way. + return QGraphicsItem::itemChange(change, value); } return QGIView::itemChange(change, value); }