diff --git a/src/ifcgeom/kernels/opencascade/loop.cpp b/src/ifcgeom/kernels/opencascade/loop.cpp index 18c658fd15..403d55835f 100644 --- a/src/ifcgeom/kernels/opencascade/loop.cpp +++ b/src/ifcgeom/kernels/opencascade/loop.cpp @@ -95,8 +95,10 @@ namespace { OpenCascadeKernel::curve_creation_visitor_result_type operator()(const taxonomy::loop::ptr& l) { TopoDS_Wire wire; - kernel->convert(l, wire); - return result = wire; + if (!kernel->convert(l, wire)) { + throw std::runtime_error("Failed to convert loop to wire"); + } + return result; } OpenCascadeKernel::curve_creation_visitor_result_type operator()(const taxonomy::edge::ptr& e) {