From 9bfab4262f2cd67174017725e0a7d8717057aae9 Mon Sep 17 00:00:00 2001 From: wmayer Date: Sun, 21 Nov 2021 19:57:21 +0100 Subject: [PATCH] Mod: change error text of Python wrapper when trying to access deleted view --- src/Mod/Spreadsheet/Gui/SpreadsheetView.cpp | 7 +++++-- src/Mod/TechDraw/Gui/MDIViewPage.cpp | 7 +++++-- src/Mod/Web/Gui/BrowserView.cpp | 7 +++++-- 3 files changed, 15 insertions(+), 6 deletions(-) diff --git a/src/Mod/Spreadsheet/Gui/SpreadsheetView.cpp b/src/Mod/Spreadsheet/Gui/SpreadsheetView.cpp index a37ad89b37..3595268f2d 100644 --- a/src/Mod/Spreadsheet/Gui/SpreadsheetView.cpp +++ b/src/Mod/Spreadsheet/Gui/SpreadsheetView.cpp @@ -504,8 +504,11 @@ Py::Object SheetViewPy::repr() // appear for SheetViewPy, too. Py::Object SheetViewPy::getattr(const char * attr) { - if (!getSheetViewPtr()) - throw Py::RuntimeError("Cannot print representation of deleted object"); + if (!getSheetViewPtr()) { + std::ostringstream s_out; + s_out << "Cannot access attribute '" << attr << "' of deleted object"; + throw Py::RuntimeError(s_out.str()); + } std::string name( attr ); if (name == "__dict__" || name == "__class__") { Py::Dict dict_self(BaseType::getattr("__dict__")); diff --git a/src/Mod/TechDraw/Gui/MDIViewPage.cpp b/src/Mod/TechDraw/Gui/MDIViewPage.cpp index 5ff113d1ea..8b305bf0bd 100644 --- a/src/Mod/TechDraw/Gui/MDIViewPage.cpp +++ b/src/Mod/TechDraw/Gui/MDIViewPage.cpp @@ -1415,8 +1415,11 @@ Py::Object MDIViewPagePy::repr() // appear for SheetViewPy, too. Py::Object MDIViewPagePy::getattr(const char * attr) { - if (!getMDIViewPagePtr()) - throw Py::RuntimeError("Cannot print representation of deleted object"); + if (!getMDIViewPagePtr()) { + std::ostringstream s_out; + s_out << "Cannot access attribute '" << attr << "' of deleted object"; + throw Py::RuntimeError(s_out.str()); + } std::string name( attr ); if (name == "__dict__" || name == "__class__") { Py::Dict dict_self(BaseType::getattr("__dict__")); diff --git a/src/Mod/Web/Gui/BrowserView.cpp b/src/Mod/Web/Gui/BrowserView.cpp index 3c202a30bc..2c60b5f760 100644 --- a/src/Mod/Web/Gui/BrowserView.cpp +++ b/src/Mod/Web/Gui/BrowserView.cpp @@ -240,8 +240,11 @@ Py::Object BrowserViewPy::repr() // appear for SheetViewPy, too. Py::Object BrowserViewPy::getattr(const char * attr) { - if (!getBrowserViewPtr()) - throw Py::RuntimeError("Cannot print representation of deleted object"); + if (!getBrowserViewPtr()) { + std::ostringstream s_out; + s_out << "Cannot access attribute '" << attr << "' of deleted object"; + throw Py::RuntimeError(s_out.str()); + } std::string name( attr ); if (name == "__dict__" || name == "__class__") { Py::Dict dict_self(BaseType::getattr("__dict__"));