aboutsummaryrefslogtreecommitdiffstats
path: root/qt-ui
diff options
context:
space:
mode:
authorGravatar Dirk Hohndel <dirk@hohndel.org>2015-09-11 10:54:05 -0700
committerGravatar Dirk Hohndel <dirk@hohndel.org>2015-09-11 10:54:05 -0700
commitc41810e5a54a6437830defc39d8f41cb2ebbcb98 (patch)
treed269ad9ee6403f690342361eb47c8421c7229b34 /qt-ui
parent30f81949a09942c4518dd663f809aabb1e901cc6 (diff)
downloadsubsurface-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.cpp3
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();