diff options
-rw-r--r-- | CHANGELOG.md | 1 | ||||
m--------- | libdivecomputer | 0 | ||||
-rw-r--r-- | qt-models/diveplannermodel.cpp | 7 |
3 files changed, 7 insertions, 1 deletions
diff --git a/CHANGELOG.md b/CHANGELOG.md index 4971abc3f..18240f402 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,6 +1,7 @@ core: add support for Shearwater Peregrine (requires firmware V79 or newer) core: fix renumbering of imported dives [#2731] mobile: fix editing tank information +planner: Handle zero length segments gracefully when replanning mobile: disable download button if no connection is selected mobile: fix incorrect time stamps on GPS track points created via location service core: correctly recognize A1 as BLE dive computer diff --git a/libdivecomputer b/libdivecomputer -Subproject ad566ab04f6ef3943d2306b41b35ac427afddb4 +Subproject 1df0e13cc44041743836065c66928c06a5c035a diff --git a/qt-models/diveplannermodel.cpp b/qt-models/diveplannermodel.cpp index ebcbeb51e..bdc79c9e6 100644 --- a/qt-models/diveplannermodel.cpp +++ b/qt-models/diveplannermodel.cpp @@ -128,6 +128,7 @@ void DivePlannerPointsModel::loadFromDive(dive *d) int plansamples = dc->samples <= 100 ? dc->samples : 100; int j = 0; int cylinderid = 0; + last_sp.mbar = 0; for (int i = 0; i < plansamples - 1; i++) { if (dc->last_manual_time.seconds && dc->last_manual_time.seconds > 120 && lasttime.seconds >= dc->last_manual_time.seconds) @@ -145,7 +146,11 @@ void DivePlannerPointsModel::loadFromDive(dive *d) } if (samplecount) { cylinderid = get_cylinderid_at_time(d, dc, lasttime); - if (newtime.seconds - lastrecordedtime.seconds > 10) { + duration_t nexttime = newtime; + ++nexttime.seconds; + if (newtime.seconds - lastrecordedtime.seconds > 10 || cylinderid == get_cylinderid_at_time(d, dc, nexttime)) { + if (newtime.seconds == lastrecordedtime.seconds) + newtime.seconds += 10; current_divemode = get_current_divemode(dc, newtime.seconds - 1, &evd, ¤t_divemode); addStop(depthsum / samplecount, newtime.seconds, cylinderid, last_sp.mbar, true, current_divemode); lastrecordedtime = newtime; |