From 88bd341ad2da7399719d350bf9f715297d8d9f33 Mon Sep 17 00:00:00 2001 From: wmayer Date: Sat, 3 Jun 2017 13:46:05 +0200 Subject: [PATCH] fixes #0002926: Trying to access Part.Shape.children() before doc.recompute() crashes the whole program --- src/Mod/Part/App/TopoShapePyImp.cpp | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/src/Mod/Part/App/TopoShapePyImp.cpp b/src/Mod/Part/App/TopoShapePyImp.cpp index 518103c330..8810dba798 100644 --- a/src/Mod/Part/App/TopoShapePyImp.cpp +++ b/src/Mod/Part/App/TopoShapePyImp.cpp @@ -1163,7 +1163,12 @@ PyObject* TopoShapePy::childShapes(PyObject *args) return NULL; try { - TopoDS_Iterator it(getTopoShapePtr()->getShape(), + const TopoDS_Shape& shape = getTopoShapePtr()->getShape(); + if (shape.IsNull()) { + PyErr_SetString(PyExc_ValueError, "Shape is null"); + return NULL; + } + TopoDS_Iterator it(shape, PyObject_IsTrue(cumOri) ? Standard_True : Standard_False, PyObject_IsTrue(cumLoc) ? Standard_True : Standard_False); Py::List list;