diff options
author | Dirk Hohndel <dirk@hohndel.org> | 2013-11-18 11:55:56 -0800 |
---|---|---|
committer | Dirk Hohndel <dirk@hohndel.org> | 2013-11-18 11:55:56 -0800 |
commit | 8ae8c81d3d47e5ba6b7ea292c92a9527fc85994f (patch) | |
tree | 52a3b5676d1d01a6d0b823346022d6fcd77f855f /planner.c | |
parent | 3801b765fff847adff1899c7d54484b0bb100c87 (diff) | |
download | subsurface-8ae8c81d3d47e5ba6b7ea292c92a9527fc85994f.tar.gz |
Fix various issues with the dive add / edit manual dive code
- get_gas_from_events does NOT always set o2/he. It only updates them IFF
a matching event is found; so we need to make sure we start out with a
valid gas mix
- the way we tried to restore the edited dive in case of an edit to a
manually added that is cancelled was completely bogus. Way too complex
when we can simply and reliably simply store the dive and then copy it
back
Fixes #270
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
Diffstat (limited to 'planner.c')
-rw-r--r-- | planner.c | 2 |
1 files changed, 2 insertions, 0 deletions
@@ -57,6 +57,8 @@ void set_last_stop(bool last_stop_6m) void get_gas_from_events(struct divecomputer *dc, int time, int *o2, int *he) { + // we don't modify the values passed in if nothing is found + // so don't call with uninitialized o2/he ! struct event *event = dc->events; while (event && event->time.seconds <= time) { if (!strcmp(event->name, "gaschange")) { |