summaryrefslogtreecommitdiffstats
path: root/planner.c
diff options
context:
space:
mode:
Diffstat (limited to 'planner.c')
-rw-r--r--planner.c8
1 files changed, 7 insertions, 1 deletions
diff --git a/planner.c b/planner.c
index 026581de3..47835d315 100644
--- a/planner.c
+++ b/planner.c
@@ -246,6 +246,7 @@ static void create_dive_from_plan(struct diveplan *diveplan)
struct divecomputer *dc;
struct sample *sample;
struct gasmix oldgasmix;
+ struct event *ev;
cylinder_t *cyl;
int oldpo2 = 0;
int lasttime = 0;
@@ -257,13 +258,18 @@ static void create_dive_from_plan(struct diveplan *diveplan)
printf("in create_dive_from_plan\n");
dump_plan(diveplan);
#endif
- // reset the cylinders and clear out the samples of the displayed dive so we can restart
+ // reset the cylinders and clear out the samples and events of the
+ // displayed dive so we can restart
reset_cylinders(&displayed_dive);
dc = &displayed_dive.dc;
free(dc->sample);
dc->sample = NULL;
dc->samples = 0;
dc->alloc_samples = 0;
+ while ((ev = dc->events)) {
+ dc->events = dc->events->next;
+ free(ev);
+ }
dp = diveplan->dp;
cyl = &displayed_dive.cylinder[0];
oldgasmix = cyl->gasmix;