diff options
author | Robert C. Helling <helling@atdotde.de> | 2021-05-07 10:05:43 +0200 |
---|---|---|
committer | Dirk Hohndel <dirk@hohndel.org> | 2021-05-07 08:16:41 -0700 |
commit | 09bbd846da2289a49e566c6b2742b62d9d7bdc79 (patch) | |
tree | 6218ff79fef1e9e998ab5e93b8ddeee60bf64faa | |
parent | 3e1ade5206853bbd95023ae79e62b5c608003352 (diff) | |
download | subsurface-09bbd846da2289a49e566c6b2742b62d9d7bdc79.tar.gz |
The planner should not always ascent from the depth of
the last manually entered waypoint but consider the
possibility that it should first top where we are
before the next stop depth has cleared.
Reported-by: David Carron
Signed-off-by: Robert C. Helling <helling@atdotde.de>
-rw-r--r-- | CHANGELOG.md | 1 | ||||
-rw-r--r-- | core/planner.c | 2 | ||||
-rw-r--r-- | tests/testplan.cpp | 2 |
3 files changed, 3 insertions, 2 deletions
diff --git a/CHANGELOG.md b/CHANGELOG.md index 5270b9abc..0e6dd2928 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,6 @@ export: show progress dialog when exporting to TeX printing: use sensible font size even for strange window size +* Planner: Don't immediately ascent automatically --- * Always add new entries at the very top of this file above other existing entries and this note. diff --git a/core/planner.c b/core/planner.c index be257a0a0..98c75df1e 100644 --- a/core/planner.c +++ b/core/planner.c @@ -757,7 +757,7 @@ bool plan(struct deco_state *ds, struct diveplan *diveplan, struct dive *dive, i /* Find the first potential decostopdepth above current depth */ for (stopidx = 0; stopidx < decostoplevelcount; stopidx++) - if (*(decostoplevels + stopidx) >= depth) + if (decostoplevels[stopidx] > depth) break; if (stopidx > 0) stopidx--; diff --git a/tests/testplan.cpp b/tests/testplan.cpp index 131c559ed..a7a42e56a 100644 --- a/tests/testplan.cpp +++ b/tests/testplan.cpp @@ -472,7 +472,7 @@ void TestPlan::testImperial() struct divedatapoint *dp = testPlan.dp; while (!dp->minimum_gas.mbar && dp->next) dp = dp->next; - QCOMPARE(lrint(dp->minimum_gas.mbar / 1000.0), 154l); + QCOMPARE(lrint(dp->minimum_gas.mbar / 1000.0), 155l); // check first gas change to EAN36 at 33m struct event *ev = displayed_dive.dc.events; QVERIFY(ev != NULL); |