diff --git a/src/Gui/SelectionObjectPy.xml b/src/Gui/SelectionObjectPy.xml index 4a98eaabf1..1b7abe1909 100644 --- a/src/Gui/SelectionObjectPy.xml +++ b/src/Gui/SelectionObjectPy.xml @@ -56,7 +56,7 @@ - Selected document + Document of the selected object diff --git a/src/Gui/SelectionObjectPyImp.cpp b/src/Gui/SelectionObjectPyImp.cpp index 3c25efeab0..14a320cd60 100644 --- a/src/Gui/SelectionObjectPyImp.cpp +++ b/src/Gui/SelectionObjectPyImp.cpp @@ -100,12 +100,18 @@ Py::String SelectionObjectPy::getDocumentName(void) const Py::Object SelectionObjectPy::getDocument(void) const { - return Py::Object(getSelectionObjectPtr()->getObject()->getDocument()->getPyObject(), true); + App::DocumentObject *obj = getSelectionObjectPtr()->getObject(); + if (!obj) + throw Py::RuntimeError("Cannot get document of deleted object"); + return Py::Object(obj->getDocument()->getPyObject(), true); } Py::Object SelectionObjectPy::getObject(void) const { - return Py::Object(getSelectionObjectPtr()->getObject()->getPyObject(), true); + App::DocumentObject *obj = getSelectionObjectPtr()->getObject(); + if (!obj) + throw Py::RuntimeError("Object already deleted"); + return Py::Object(obj->getPyObject(), true); } Py::Tuple SelectionObjectPy::getSubObjects(void) const