From: Barak Itkin Date: Sun, 27 May 2012 09:54:35 +0000 (+0300) Subject: Small fixes to the memory management of P2trDelaunayTerminator objects X-Git-Tag: p2tc-0.1.0~60 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=c1676c4a59580d94f82fd00043c23aa28f49727d;p=poly2tri-c Small fixes to the memory management of P2trDelaunayTerminator objects --- 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