Comment 12 for bug 931598

Revision history for this message
Alvin Penner (apenner) wrote :

the crash is apparently being caused by a very small amount of numerical round-off error, and that in turn is apparently caused by the scaling transform element in the group that encloses the path. Attached is the result I get when I output the difference between the two points that are calculated just before the crash:

std::cout << "diff = " << prev[0] - (*it)->initialPoint()[0] << ", " << prev[1] - (*it)->initialPoint()[1] << std::endl;

diff = -7.10543e-015, 1.42109e-014

terminate called after throwing an instance of 'Geom::ContinuityError'
  what(): lib2geom exception: Non-contiguous path (src/2geom/path.cpp:96)

The error is very small and should have been ignored. There should probably be a numerical error tolerance value for cases like this.