mirror of
https://github.com/subsurface/subsurface.git
synced 2025-01-19 14:25:27 +00:00
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>
This commit is contained in:
parent
d6499cc32a
commit
86c961614b
3 changed files with 4 additions and 3 deletions
|
@ -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;
|
||||
|
|
|
@ -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);
|
||||
|
|
|
@ -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);
|
||||
|
|
Loading…
Add table
Reference in a new issue