0025582: SIGSEGV in thrusections of circle segments
authorazv <azv@opencascade.com>
Fri, 23 Jan 2015 12:55:56 +0000 (15:55 +0300)
committerbugmaster <bugmaster@opencascade.com>
Thu, 29 Jan 2015 09:55:54 +0000 (12:55 +0300)
Eliminating regressions

Fixed compilation warning ('di' : unreferenced formal parameter).

Added test bugs/modalg_5/bug25578

src/BRepFill/BRepFill_Generator.cxx
src/GeomliteTest/GeomliteTest_ModificationCommands.cxx
tests/bugs/modalg_5/bug25578 [new file with mode: 0644]

index f12a486..359f310 100644 (file)
@@ -398,8 +398,12 @@ void CreateKPart(const TopoDS_Edge& Edge1,const TopoDS_Edge& Edge2,
   BW1.MakeWire(newW1);
   BW2.MakeWire(newW2);
 
-  GeomAdaptor_Curve aC1Adaptor(C1);
-  GeomAdaptor_Curve aC2Adaptor(C2);
+  GeomAdaptor_Curve aC1Adaptor;
+  if (!C1.IsNull())
+    aC1Adaptor.Load(C1);
+  GeomAdaptor_Curve aC2Adaptor;
+  if (!C2.IsNull())
+    aC2Adaptor.Load(C2);
 
   // calculate the surface
   Handle(Geom_Surface) surface;
index b492617..38b1600 100644 (file)
@@ -137,7 +137,7 @@ static Standard_Integer samerange (Draw_Interpretor& /*di*/, Standard_Integer n,
 //purpose  : Changes a weight of a pole on B-spline curve/surface
 //=======================================================================
 
-static Standard_Integer setweight(Draw_Interpretor& di, Standard_Integer n, const char** a)
+static Standard_Integer setweight(Draw_Interpretor& /*di*/, Standard_Integer n, const char** a)
 {
   if (n < 4 || n > 5)
   {
diff --git a/tests/bugs/modalg_5/bug25578 b/tests/bugs/modalg_5/bug25578
new file mode 100644 (file)
index 0000000..58c15e2
--- /dev/null
@@ -0,0 +1,12 @@
+puts "========="
+puts "OCC25578"
+puts "========="
+puts ""
+###########################################################
+# SIGSEGV in BRepSweep_Rotation in case of singularities
+###########################################################
+
+psphere Sphere 5 0 90 90
+explode Sphere F
+revol rr Sphere_1 0 0 0 0 0 1 360
+revol rr Sphere_1 0 0 0 1 0 0 90