From: jfa Date: Fri, 8 Dec 2017 08:34:36 +0000 (+0300) Subject: 0023505: Sigsegv with fuse on cylinder and cone X-Git-Tag: V9_0_0~1^2~7 X-Git-Url: http://git.salome-platform.org/gitweb/?a=commitdiff_plain;h=ee8283cdc0d24a528686155673f87c457309d912;p=modules%2Fgeom.git 0023505: Sigsegv with fuse on cylinder and cone --- 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