From c1676c4a59580d94f82fd00043c23aa28f49727d Mon Sep 17 00:00:00 2001 From: Barak Itkin Date: Sun, 27 May 2012 12:54:35 +0300 Subject: [PATCH] Small fixes to the memory management of P2trDelaunayTerminator objects --- bin/main.c | 1 + refine/delaunay-terminator.c | 7 +++++++ refine/delaunay-terminator.h | 4 +++- 3 files changed, 11 insertions(+), 1 deletion(-) diff --git a/bin/main.c b/bin/main.c index 525536e..221cb10 100755 --- a/bin/main.c +++ b/bin/main.c @@ -277,6 +277,7 @@ gint main (int argc, char *argv[]) g_free (im); } + p2tr_dt_free (dt); p2tr_cdt_free (rcdt); g_ptr_array_free (pts, TRUE); diff --git a/refine/delaunay-terminator.c b/refine/delaunay-terminator.c index bc7ef54..9c1a872 100644 --- a/refine/delaunay-terminator.c +++ b/refine/delaunay-terminator.c @@ -146,6 +146,13 @@ p2tr_dt_new (gdouble theta, P2trTriangleTooBig delta, P2trCDT *cdt) return self; } +void +p2tr_dt_free (P2trDelaunayTerminator *self) +{ + g_queue_clear (&self->Qs); + g_sequence_free (self->Qt); + g_slice_free (P2trDelaunayTerminator, self); +} static void p2tr_dt_enqueue_tri (P2trDelaunayTerminator *self, P2trTriangle *tri) diff --git a/refine/delaunay-terminator.h b/refine/delaunay-terminator.h index 0820b47..39aca0b 100644 --- a/refine/delaunay-terminator.h +++ b/refine/delaunay-terminator.h @@ -32,7 +32,9 @@ gboolean p2tr_dt_false_too_big (P2trTriangle *tri); P2trDelaunayTerminator* p2tr_dt_new (gdouble theta, P2trTriangleTooBig delta, P2trCDT *cdt); +void p2tr_dt_free (P2trDelaunayTerminator *self); + void p2tr_dt_refine (P2trDelaunayTerminator *self, gint max_steps); -#endif \ No newline at end of file +#endif -- 2.50.1