From cb55fa6ade54c5fa5a7e7df6625ab944e4a0a904 Mon Sep 17 00:00:00 2001 From: Clement Jamin Date: Fri, 26 Jun 2015 09:47:25 +0200 Subject: [PATCH] We were not deallocating all samples --- .../CGAL/Reconstruction_simplification_2.h | 22 +++++-------------- 1 file changed, 5 insertions(+), 17 deletions(-) diff --git a/Reconstruction_simplification_2/include/CGAL/Reconstruction_simplification_2.h b/Reconstruction_simplification_2/include/CGAL/Reconstruction_simplification_2.h index a5432bfc753..e71b397730f 100644 --- a/Reconstruction_simplification_2/include/CGAL/Reconstruction_simplification_2.h +++ b/Reconstruction_simplification_2/include/CGAL/Reconstruction_simplification_2.h @@ -429,25 +429,13 @@ public: } void clear() { + Sample_vector samples; + m_dt.collect_all_samples(samples); // Deallocate samples - for (Vertex_iterator vi = m_dt.vertices_begin(); - vi != m_dt.vertices_end(); ++vi) + for (Sample_vector_const_iterator s_it = samples.begin(); + s_it != samples.end(); ++s_it) { - Sample_ *s = vi->get_sample(); - if (s) - delete s; - } - - for (Finite_edges_iterator ei = m_dt.finite_edges_begin(); - ei != m_dt.finite_edges_end(); ++ei) - { - Edge &edge = *ei; - const Sample_vector& samples = edge.first->samples(edge.second); - Sample_vector_const_iterator it; - for (it = samples.begin(); it != samples.end(); ++it) - { - delete *it; - } + delete *s_it; } m_dt.clear();