← Back to team overview

kicad-developers team mailing list archive

Segmentation fault when using Clipper and SHAPE_POLY_SET in 3D viewer. Need help.

 

Tomasz, Orson,

May I ask you to have a look at the calculations in
3d_draw_board_body.cpp, lines 377 to 392

I replaced the calculations  lines 357 to 375 using boost::polygon to
calculate the difference between 2 polygon sets by the same calculations
using Clipper and the recent SHAPE_POLY_SET

The code was copied from the similar calculations in
ZONE_CONTAINER::AddClearanceAreasPolygonsToPolysList_NG()

On Windows (W7 32 bits), the 3D viewer does not crash.
On Linux (Ubuntu 14.04, 64 bits) it crashes when calling:
fractured.Fracture();
(line 390) on the same boards, with the boards  I tested (see Bug 1471451)

My code can be wrong, but I do not understand what happen.

(I tested the 2 sets of polygons converted in solidAreas and holes, and
they are fine for me.

(Remark: the code using Clipper is currently deactivated, see line 357)

Thanks.

-- 
Jean-Pierre CHARRAS


Follow ups