From 86c961614bfa8ab9057319ea5f22816351a7f61a Mon Sep 17 00:00:00 2001
From: Dirk Hohndel <dirk@hohndel.org>
Date: Mon, 19 Jan 2015 21:52:08 +1200
Subject: Actually walk all dive computers, don't just claim to do so

If the first dive computer had pressure samples, but the second one (and
no higher one) did, then we would draw a flat horizontal line for the tank
pressure graph (but lable it with the correct pressures). This routine
that is hunting for the actual maxima and minima does have to really go
through all dive computers, not just "this one and up".

Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
---
 profile.c                        | 3 ++-
 profile.h                        | 2 +-
 qt-ui/profile/profilewidget2.cpp | 2 +-
 3 files changed, 4 insertions(+), 3 deletions(-)

diff --git a/profile.c b/profile.c
index 05e84cd73..8246a961b 100644
--- a/profile.c
+++ b/profile.c
@@ -442,8 +442,9 @@ static void check_setpoint_events(struct dive *dive, struct divecomputer *dc, st
 }
 
 
-struct plot_info calculate_max_limits_new(struct dive *dive, struct divecomputer *dc)
+struct plot_info calculate_max_limits_new(struct dive *dive)
 {
+	struct divecomputer *dc = &dive->dc;
 	static struct plot_info pi;
 	int maxdepth = dive->maxdepth.mm;
 	int maxtime = 0;
diff --git a/profile.h b/profile.h
index 0ae9a8f84..726d10573 100644
--- a/profile.h
+++ b/profile.h
@@ -68,7 +68,7 @@ struct ev_select {
 	bool plot_ev;
 };
 
-struct plot_info calculate_max_limits_new(struct dive *dive, struct divecomputer *dc);
+struct plot_info calculate_max_limits_new(struct dive *dive);
 void compare_samples(struct plot_data *e1, struct plot_data *e2, char *buf, int bufsize, int sum);
 struct plot_data *populate_plot_entries(struct dive *dive, struct divecomputer *dc, struct plot_info *pi);
 struct plot_info *analyze_plot_info(struct plot_info *pi);
diff --git a/qt-ui/profile/profilewidget2.cpp b/qt-ui/profile/profilewidget2.cpp
index 850f357cf..05553216d 100644
--- a/qt-ui/profile/profilewidget2.cpp
+++ b/qt-ui/profile/profilewidget2.cpp
@@ -518,7 +518,7 @@ void ProfileWidget2::plotDive(struct dive *d, bool force)
 	 * so I'll *not* calculate everything if something is not being
 	 * shown.
 	 */
-	plotInfo = calculate_max_limits_new(&displayed_dive, currentdc);
+	plotInfo = calculate_max_limits_new(&displayed_dive);
 	create_plot_info_new(&displayed_dive, currentdc, &plotInfo, !shouldCalculateMaxDepth);
 	if (shouldCalculateMaxTime)
 		maxtime = get_maxtime(&plotInfo);
-- 
cgit v1.2.3-70-g09d2