From 3ad1d8fccc8b8a52001e9bd74c6b9565ee98fb5a Mon Sep 17 00:00:00 2001 From: wmayer Date: Thu, 25 Feb 2021 12:39:50 +0100 Subject: [PATCH] TD: [skip ci] implement DrawView::recompute to handle all OCC exception types --- src/Mod/TechDraw/App/DrawView.cpp | 13 +++++++++++++ src/Mod/TechDraw/App/DrawView.h | 1 + 2 files changed, 14 insertions(+) diff --git a/src/Mod/TechDraw/App/DrawView.cpp b/src/Mod/TechDraw/App/DrawView.cpp index 827a2cc1da..e6eea03205 100644 --- a/src/Mod/TechDraw/App/DrawView.cpp +++ b/src/Mod/TechDraw/App/DrawView.cpp @@ -93,6 +93,19 @@ DrawView::~DrawView() { } +App::DocumentObjectExecReturn *DrawView::recompute(void) +{ + try { + return App::DocumentObject::recompute(); + } + catch (Standard_Failure& e) { + App::DocumentObjectExecReturn* ret = new App::DocumentObjectExecReturn(e.GetMessageString()); + if (ret->Why.empty()) + ret->Why = "Unknown OCC exception"; + return ret; + } +} + App::DocumentObjectExecReturn *DrawView::execute(void) { // 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 170ad493ab..1768e06f8d 100644 --- a/src/Mod/TechDraw/App/DrawView.h +++ b/src/Mod/TechDraw/App/DrawView.h @@ -66,6 +66,7 @@ public: /** @name methods override Feature */ //@{ /// recalculate the Feature + virtual App::DocumentObjectExecReturn *recompute() override; virtual App::DocumentObjectExecReturn *execute(void) override; virtual void onDocumentRestored() override; virtual short mustExecute() const override;