From ee8283cdc0d24a528686155673f87c457309d912 Mon Sep 17 00:00:00 2001 From: jfa Date: Fri, 8 Dec 2017 11:34:36 +0300 Subject: [PATCH] 0023505: Sigsegv with fuse on cylinder and cone --- src/BlockFix/BlockFix_UnionFaces.cxx | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/src/BlockFix/BlockFix_UnionFaces.cxx b/src/BlockFix/BlockFix_UnionFaces.cxx index feeadff83..99f770afb 100644 --- a/src/BlockFix/BlockFix_UnionFaces.cxx +++ b/src/BlockFix/BlockFix_UnionFaces.cxx @@ -598,10 +598,13 @@ TopoDS_Shape BlockFix_UnionFaces::Perform(const TopoDS_Shape& Shape) sfw->SetMaxTolerance(Max(1.,myTolerance*1000.)); sfw->SetFace(aFace); for (TopoDS_Iterator iter (aFace,Standard_False); iter.More(); iter.Next()) { - TopoDS_Wire wire = TopoDS::Wire(iter.Value()); - sfw->Load(wire); - sfw->FixReorder(); - sfw->FixShifted(); + TopoDS_Shape aFaceCont = iter.Value(); + if (!aFaceCont.IsNull() && aFaceCont.ShapeType() == TopAbs_WIRE) { + TopoDS_Wire wire = TopoDS::Wire(iter.Value()); + sfw->Load(wire); + sfw->FixReorder(); + sfw->FixShifted(); + } } } } // end processing each solid -- 2.39.2