diff dmtimeline.c @ 328:dd7b1356d726

More work.
author Matti Hamalainen <ccr@tnsp.org>
date Sun, 14 Oct 2012 23:47:33 +0300
parents 2964947674d1
children af04394e9620
line wrap: on
line diff
--- a/dmtimeline.c	Sun Oct 14 23:36:06 2012 +0300
+++ b/dmtimeline.c	Sun Oct 14 23:47:33 2012 +0300
@@ -342,12 +342,38 @@
 }
 
 
+void dmFreeTimelineEventParam(DMTimelineEventParam *param)
+{
+    dmFree(param->name);
+    dmFree(param->vstr);
+    dmFreeTimelinePoints(&(param->vpts));
+}
+
+
+void dmFreeTimelineEvent(DMTimelineEvent *event)
+{
+    if (event != NULL)
+    {
+        int param;
+        for (param = 0; param < event->nparams; param++)
+            dmFreeTimelineEventParam(&(event->params[param]));
+        dmFree(event->params);
+    }
+}
+
+
 void dmFreeTimelineTrack(DMTimelineTrack *track)
 {
     if (track != NULL)
     {
+        int event;
+
         dmFree(track->name);
-        track->name = NULL;
+
+        for (event = 0; event < track->nevents; event++)
+            dmFreeTimelineEvent(track->events[event]);
+        dmFree(track->events);
+
         dmFreeTimelinePoints(&(track->composite.points));
     }
 }