diff options
author | Dirk Hohndel <dirk@hohndel.org> | 2015-09-11 10:54:05 -0700 |
---|---|---|
committer | Dirk Hohndel <dirk@hohndel.org> | 2015-09-11 10:54:05 -0700 |
commit | c41810e5a54a6437830defc39d8f41cb2ebbcb98 (patch) | |
tree | d269ad9ee6403f690342361eb47c8421c7229b34 /qt-ui | |
parent | 30f81949a09942c4518dd663f809aabb1e901cc6 (diff) | |
download | subsurface-c41810e5a54a6437830defc39d8f41cb2ebbcb98.tar.gz |
When editing a manually added dive, correctly update max depth
The fixup_dive() function assumes that values that are set already in the
divecomputer and dive structures come from a reliable source - sometimes
dive computers are able to track a maximum depth continuously, so that
value can be larger than the deepest sample and we need to honor that.
But in the case of a manually added dive, the samples define the dive. So
in this case we need to reset the values that were calculated when the
dive was first added so that the user can then edit the dive and reduce
the maximum depth reached in the profile and have that reflected in the
dive list.
Fixes #926
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
Diffstat (limited to 'qt-ui')
-rw-r--r-- | qt-ui/maintab.cpp | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/qt-ui/maintab.cpp b/qt-ui/maintab.cpp index 06bfca91c..fb1a64c38 100644 --- a/qt-ui/maintab.cpp +++ b/qt-ui/maintab.cpp @@ -1155,6 +1155,9 @@ void MainTab::acceptChanges() find_new_trip_start_time(current_dive->divetrip); } if (editMode == ADD || editMode == MANUALLY_ADDED_DIVE) { + // we just added or edited the dive, let fixup_dive() make + // sure we get the max depth right + current_dive->maxdepth.mm = current_dc->maxdepth.mm = 0; fixup_dive(current_dive); set_dive_nr_for_current_dive(); MainWindow::instance()->showProfile(); |