diff --git a/src/geo/polygons.js b/src/geo/polygons.js index f53a3279..8136a0ff 100644 --- a/src/geo/polygons.js +++ b/src/geo/polygons.js @@ -538,7 +538,13 @@ zed = opts.z || 0; if (opts.wasm && geo.wasm) { - polys = geo.wasm.js.offset(polys, offs, zed, clean ? CONF.clipperClean : 0, simple ? 1 : 0); + try { + polys = geo.wasm.js.offset(polys, offs, zed, clean ? CONF.clipperClean : 0, simple ? 1 : 0); + } catch (e) { + console.log('wasm error', e.message || e); + opts.wasm = false; + return offset(polys, dist, opts); + } } else { let coff = new ClipperLib.ClipperOffset(opts.miter, opts.arc), ctre = new ClipperLib.PolyTree();