summaryrefslogtreecommitdiffstats
path: root/profile.c
diff options
context:
space:
mode:
authorGravatar Dirk Hohndel <dirk@hohndel.org>2011-11-19 13:18:10 -0800
committerGravatar Dirk Hohndel <dirk@hohndel.org>2011-11-19 13:18:10 -0800
commit855df669d9aa3a30a8a5db708a63ee9991968bab (patch)
treedf57c7477f8cf0a54e8eca31c8b06b70fc938bcc /profile.c
parentabdee5b1b8a97c641bca9bc2ebac9555c3e2ea54 (diff)
downloadsubsurface-855df669d9aa3a30a8a5db708a63ee9991968bab.tar.gz
Fix error when gaschange event is one second before next sample
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
Diffstat (limited to 'profile.c')
-rw-r--r--profile.c14
1 files changed, 8 insertions, 6 deletions
diff --git a/profile.c b/profile.c
index df1b22b30..47e12ba66 100644
--- a/profile.c
+++ b/profile.c
@@ -669,10 +669,7 @@ static void plot_cylinder_pressure(struct graphics_context *gc, struct plot_info
if (!last_entry) {
last = i;
last_entry = entry;
- if (first_plot) {
- /* don't start with a sac of 0, so just calculate the first one */
- sac = GET_LOCAL_SAC(entry, pi->entry + i + 1, dive);
- }
+ sac = GET_LOCAL_SAC(entry, pi->entry + i + 1, dive);
} else {
int j;
sac = 0;
@@ -1144,8 +1141,13 @@ static struct plot_info *create_plot_info(struct dive *dive, int nr_samples, str
while (ev && ev->time.seconds < sample->time.seconds) {
/* insert two fake plot info structures for the end of
* the old tank and the start of the new tank */
- entry->sec = ev->time.seconds;
- (entry+1)->sec = ev->time.seconds + 1;
+ if (ev->time.seconds == sample->time.seconds - 1) {
+ entry->sec = ev->time.seconds - 1;
+ (entry+1)->sec = ev->time.seconds;
+ } else {
+ entry->sec = ev->time.seconds;
+ (entry+1)->sec = ev->time.seconds + 1;
+ }
/* we need a fake depth - let's interpolate */
if (i) {
entry->depth = sample->depth.mm -