diff --git a/src/BRepTest/BRepTest_SweepCommands.cxx b/src/BRepTest/BRepTest_SweepCommands.cxx index 0a307e8fed..de1a7505b1 100644 --- a/src/BRepTest/BRepTest_SweepCommands.cxx +++ b/src/BRepTest/BRepTest_SweepCommands.cxx @@ -577,11 +577,12 @@ static Standard_Integer addsweep(Draw_Interpretor& di, Handle(Law_Interpol) thelaw; Section = DBRep::Get(a[1], TopAbs_SHAPE); - if (Section.ShapeType() != TopAbs_WIRE && - Section.ShapeType() != TopAbs_VERTEX) + if (Section.IsNull() || + (Section.ShapeType() != TopAbs_WIRE && + Section.ShapeType() != TopAbs_VERTEX)) { //cout << a[1] <<"is not a wire and is not a vertex!" << endl; - di << a[1] <<"is not a wire and is not a vertex!\n"; + di << a[1] <<" is not a wire and is not a vertex!\n"; return 1; } diff --git a/tests/bugs/modalg_6/bug24932 b/tests/bugs/modalg_6/bug24932 new file mode 100644 index 0000000000..03e9d23f3b --- /dev/null +++ b/tests/bugs/modalg_6/bug24932 @@ -0,0 +1,38 @@ +puts "========" +puts "OCC24932" +puts "========" +puts "" +####################################################################################### +# addsweep does not check if the supplied variable contains a shape +####################################################################################### + +vertex v0 0 0 0 +vertex v1 1 0 0 +edge e1 v0 v1 +wire w1 e1 +mksweep w1 +shape solid1 So +catch {addsweep solid1} msg +if ![regexp "is not a wire" $msg] { + puts "Error: addsweep did not complaint about wrong argument - solid" +} else { + puts "OK: addsweep noted wrong argument - solid" +} + +mksweep w1 +shape emptyshape +catch {addsweep emptyshape} msg +if ![regexp "is not a wire" $msg] { + puts "Error: addsweep did not complaint about wrong argument - empty shape" +} else { + puts "OK: addsweep noted wrong argument - empty shape" +} + +mksweep w1 +if [info exists undefined] {unset undefined} +catch {addsweep undefined} msg +if ![regexp "is not a wire" $msg] { + puts "Error: addsweep did not complaint about wrong argument - undefined variable" +} else { + puts "OK: addsweep noted wrong argument - undefined variable" +}