From 9c17fe359b31374d6d5ebf04082bb0ba0c3ca87d Mon Sep 17 00:00:00 2001 From: wmayer Date: Thu, 13 Aug 2020 14:23:16 +0200 Subject: [PATCH] Part: [skip ci] fixes #0004117: Crash during extrusion --- src/Mod/Part/App/FaceMakerBullseye.cpp | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/src/Mod/Part/App/FaceMakerBullseye.cpp b/src/Mod/Part/App/FaceMakerBullseye.cpp index ef92a4d52075..8b174905fb4e 100644 --- a/src/Mod/Part/App/FaceMakerBullseye.cpp +++ b/src/Mod/Part/App/FaceMakerBullseye.cpp @@ -41,6 +41,7 @@ # include # include # include +# include # include # include # include @@ -191,6 +192,10 @@ int FaceMakerBullseye::FaceDriller::getWireDirection(const gp_Pln& plane, const //make a test face BRepBuilderAPI_MakeFace mkFace(wire, /*onlyplane=*/Standard_True); TopoDS_Face tmpFace = mkFace.Face(); + if (tmpFace.IsNull()) { + throw Standard_Failure("getWireDirection: Failed to create face from wire"); + } + //compare face surface normal with our plane's one BRepAdaptor_Surface surf(tmpFace); bool normal_co = surf.Plane().Axis().Direction().Dot(plane.Axis().Direction()) > 0;