diff --git a/src/Mod/TechDraw/App/DrawView.cpp b/src/Mod/TechDraw/App/DrawView.cpp index b23adfd5fa..31e4b95f83 100644 --- a/src/Mod/TechDraw/App/DrawView.cpp +++ b/src/Mod/TechDraw/App/DrawView.cpp @@ -110,6 +110,20 @@ DrawView::DrawView(): } +App::DocumentObjectExecReturn* DrawView::recompute() +{ + try { + return App::DocumentObject::recompute(); + } + catch (Standard_Failure& e) { + auto ret = new App::DocumentObjectExecReturn(e.GetMessageString()); + if (ret->Why.empty()) { + ret->Why = "Unknown OCC exception"; + } + return ret; + } +} + App::DocumentObjectExecReturn *DrawView::execute() { // Base::Console().message("DV::execute() - %s touched: %d\n", getNameInDocument(), isTouched()); diff --git a/src/Mod/TechDraw/App/DrawView.h b/src/Mod/TechDraw/App/DrawView.h index 092f0a14f4..ee8e3878ed 100644 --- a/src/Mod/TechDraw/App/DrawView.h +++ b/src/Mod/TechDraw/App/DrawView.h @@ -65,6 +65,7 @@ public: /** @name methods override Feature */ //@{ + App::DocumentObjectExecReturn* recompute() override; /// recalculate the Feature App::DocumentObjectExecReturn *execute() override; void onDocumentRestored() override; diff --git a/src/Mod/TechDraw/App/DrawViewPart.cpp b/src/Mod/TechDraw/App/DrawViewPart.cpp index 85b91cebc2..f2be301429 100644 --- a/src/Mod/TechDraw/App/DrawViewPart.cpp +++ b/src/Mod/TechDraw/App/DrawViewPart.cpp @@ -1537,6 +1537,8 @@ void DrawViewPart::handleChangedPropertyType(Base::XMLReader &reader, const char } return; } + + DrawView::handleChangedPropertyType(reader, TypeName, prop); } // true if owner->element is a cosmetic vertex diff --git a/src/Mod/TechDraw/App/DrawViewSection.cpp b/src/Mod/TechDraw/App/DrawViewSection.cpp index e9155b7f0a..e2452e5f9e 100644 --- a/src/Mod/TechDraw/App/DrawViewSection.cpp +++ b/src/Mod/TechDraw/App/DrawViewSection.cpp @@ -1254,6 +1254,8 @@ void DrawViewSection::handleChangedPropertyType(Base::XMLReader &reader, const c } return; } + + DrawViewPart::handleChangedPropertyType(reader, TypeName, prop); } // checks that SectionNormal and XDirection are perpendicular and that Direction is the same as