From c1886bf24d935ac799651af45c9b163293c62bea Mon Sep 17 00:00:00 2001 From: wmayer Date: Wed, 28 Mar 2012 15:07:28 +0200 Subject: [PATCH] Fix crash in TopoShapeface.getWire() --- src/Mod/Part/App/TopoShapeFacePyImp.cpp | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/src/Mod/Part/App/TopoShapeFacePyImp.cpp b/src/Mod/Part/App/TopoShapeFacePyImp.cpp index 9c65d51f2..ab03bb14c 100644 --- a/src/Mod/Part/App/TopoShapeFacePyImp.cpp +++ b/src/Mod/Part/App/TopoShapeFacePyImp.cpp @@ -550,14 +550,16 @@ Py::Tuple TopoShapeFacePy::getParameterRange(void) const Py::Object TopoShapeFacePy::getWire(void) const { - TopoDS_Shape clSh = getTopoShapePtr()->_Shape; + const TopoDS_Shape& clSh = getTopoShapePtr()->_Shape; + if (clSh.IsNull()) + throw Py::Exception("Null shape"); if (clSh.ShapeType() == TopAbs_FACE) { TopoDS_Face clFace = (TopoDS_Face&)clSh; TopoDS_Wire clWire = ShapeAnalysis::OuterWire(clFace); return Py::Object(new TopoShapeWirePy(new TopoShape(clWire)),true); } else - throw "Internal error, TopoDS_Shape is not a face!"; + throw Py::Exception("Internal error, TopoDS_Shape is not a face!"); return Py::Object(); }