summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorGravatar Linus Torvalds <torvalds@linux-foundation.org>2011-11-19 13:22:21 -0800
committerGravatar Linus Torvalds <torvalds@linux-foundation.org>2011-11-19 13:22:21 -0800
commite8230c9d13afc84e88207ab6fde3190f0bd25fd0 (patch)
treee609029256bd2e0df6a480a14ea3f8277178d5b9
parentc9df1f868cc6c6d033d33158235d0e9cdbae28c9 (diff)
parent855df669d9aa3a30a8a5db708a63ee9991968bab (diff)
downloadsubsurface-e8230c9d13afc84e88207ab6fde3190f0bd25fd0.tar.gz
Merge branch 'sacplot' of git://git.hohndel.org/subsurface
* 'sacplot' of git://git.hohndel.org/subsurface: Fix error when gaschange event is one second before next sample
-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 -