Skip to content

Fix deferred vertex deletion, add unit tests.

Martin Heistermann requested to merge (removed):fix-deferred-delete into master

GeometryKernel::collect_garbage used to first perform the TopologyKernel garbage collection, usually shrinking its vertex_deleted_ member, then accessed it using is_deleted() with the old vertex indices.

This caused out-of-bounds memory access (made visible by cmake -DSTL_VECTOR_CHECKS=ON) and non-fast deletion also resulted in wrong results, the remaining vertices had wrong coordinates.

Merge request reports