diff --git a/src/Mod/TechDraw/App/DrawProjGroup.cpp b/src/Mod/TechDraw/App/DrawProjGroup.cpp index 33abf5829a..c63dd05d3c 100644 --- a/src/Mod/TechDraw/App/DrawProjGroup.cpp +++ b/src/Mod/TechDraw/App/DrawProjGroup.cpp @@ -424,12 +424,12 @@ App::DocumentObject * DrawProjGroup::addProjection(const char *viewProjType) throw Base::TypeError("Error: new projection is not a DPGI!"); } if (view != nullptr) { //coverity CID 151722 + // the label must be set before the view is added + view->Label.setValue(viewProjType); addView(view); //from DrawViewCollection - view->Source.setValues( Source.getValues() ); - view->Scale.setValue( getScale() ); - view->Type.setValue( viewProjType ); - view->Label.setValue( viewProjType ); - view->Source.setValues( Source.getValues() ); + view->Source.setValues(Source.getValues()); + // the Scale is already set by DrawView + view->Type.setValue(viewProjType); if (strcmp(viewProjType, "Front") != 0 ) { //not Front! vecs = getDirsFromFront(view); view->Direction.setValue(vecs.first); diff --git a/src/Mod/TechDraw/App/DrawView.cpp b/src/Mod/TechDraw/App/DrawView.cpp index 85f7c47125..8302613477 100644 --- a/src/Mod/TechDraw/App/DrawView.cpp +++ b/src/Mod/TechDraw/App/DrawView.cpp @@ -144,6 +144,15 @@ void DrawView::onChanged(const App::Property* prop) handleXYLock(); LockPosition.purgeTouched(); } + if ((prop == &Caption) || + (prop == &Label)) { + requestPaint(); + } // rotation and scaling requires recompute + else if ((prop == &Rotation) || + (prop == &Scale) || + (prop == &ScaleType)) { + recompute(); + } } App::DocumentObject::onChanged(prop); }