Mercurial > hg > dmlib
changeset 340:1c5e7d66312d
Work on prepared timeline code.
author | Matti Hamalainen <ccr@tnsp.org> |
---|---|
date | Mon, 15 Oct 2012 18:06:48 +0300 |
parents | 40e8a01e0478 |
children | 9f16badc4bd3 |
files | dmtimeline.c |
diffstat | 1 files changed, 20 insertions(+), 6 deletions(-) [+] |
line wrap: on
line diff
--- a/dmtimeline.c Mon Oct 15 17:54:25 2012 +0300 +++ b/dmtimeline.c Mon Oct 15 18:06:48 2012 +0300 @@ -395,8 +395,25 @@ void dmFreePreparedEventGroup(DMPreparedEventGroup *group) { - dmFree(group->events); - dmFree(group); + if (group != NULL) + { + dmFree(group->events); + dmFree(group); + } +} + + +void dmFreePreparedTimelineData(DMPreparedTimeline *ptl) +{ + int group; + for (group = 0; group < ptl->ngroups; group++) + { + dmFreePreparedEventGroup(ptl->groups[group]); + ptl->groups[group] = NULL; + } + + dmFree(ptl->groups); + ptl->groups = NULL; } @@ -421,10 +438,7 @@ DMPreparedEventGroup *groups = NULL, *node; // Free previous data - for (group = 0; group < ptl->ngroups; group++) - dmFreePreparedEventGroup(ptl->groups[group]); - dmFree(ptl->groups); - ptl->groups = NULL; + dmFreePreparedTimelineData(ptl); // Process tracks for (ntrack = 0; ntrack < tl->ntracks; ntrack++)