From dec434e15376c4461ccf94f3969c1f8a657fc8ec Mon Sep 17 00:00:00 2001 From: wmayer Date: Sun, 16 Mar 2025 14:03:27 +0100 Subject: [PATCH] Gui: Handle exception when trying to start editing an object --- src/Gui/Document.cpp | 1 + src/Gui/ViewProvider.cpp | 11 ++++++++--- 2 files changed, 9 insertions(+), 3 deletions(-) diff --git a/src/Gui/Document.cpp b/src/Gui/Document.cpp index e703c41e35..50d97b3b17 100644 --- a/src/Gui/Document.cpp +++ b/src/Gui/Document.cpp @@ -648,6 +648,7 @@ bool Document::trySetEdit(Gui::ViewProvider* p, int ModNum, const char *subname) Application::Instance->setEditDocument(this); if (!d->tryStartEditing(vp, obj, _subname.c_str(), ModNum)) { + d->setDocumentNameOfTaskDialog(getDocument()); return false; } diff --git a/src/Gui/ViewProvider.cpp b/src/Gui/ViewProvider.cpp index 82823721a2..1f04a65a10 100644 --- a/src/Gui/ViewProvider.cpp +++ b/src/Gui/ViewProvider.cpp @@ -137,9 +137,14 @@ ViewProvider::~ViewProvider() ViewProvider *ViewProvider::startEditing(int ModNum) { - if(setEdit(ModNum)) { - _iEditMode = ModNum; - return this; + try { + if (setEdit(ModNum)) { + _iEditMode = ModNum; + return this; + } + } + catch (const Base::Exception& e) { + e.reportException(); } return nullptr; }