]> granicus.if.org Git - poly2tri-c/commitdiff
Small fixes to the memory management of P2trDelaunayTerminator objects
authorBarak Itkin <lightningismyname@gmail.com>
Sun, 27 May 2012 09:54:35 +0000 (12:54 +0300)
committerBarak Itkin <lightningismyname@gmail.com>
Sun, 27 May 2012 09:54:35 +0000 (12:54 +0300)
bin/main.c
refine/delaunay-terminator.c
refine/delaunay-terminator.h

index 525536ecd9ee4a92e339edc859ef67c181757795..221cb104455973b0aca1482d0738ca7158f214b4 100755 (executable)
@@ -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);
index bc7ef54613ac0978045a6f559e0ce5cd72dd63b4..9c1a8729c937196705eef4825c66920da69cfef5 100644 (file)
@@ -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)
index 0820b4741352b844d5ed199eedf1c1a04516e64d..39aca0bf8dfe722aff12411c4d0b3f51035f2915 100644 (file)
@@ -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