summaryrefslogtreecommitdiffstats
path: root/qt-ui/maintab.cpp
diff options
context:
space:
mode:
authorGravatar Dirk Hohndel <dirk@hohndel.org>2013-11-18 11:55:56 -0800
committerGravatar Dirk Hohndel <dirk@hohndel.org>2013-11-18 11:55:56 -0800
commit8ae8c81d3d47e5ba6b7ea292c92a9527fc85994f (patch)
tree52a3b5676d1d01a6d0b823346022d6fcd77f855f /qt-ui/maintab.cpp
parent3801b765fff847adff1899c7d54484b0bb100c87 (diff)
downloadsubsurface-8ae8c81d3d47e5ba6b7ea292c92a9527fc85994f.tar.gz
Fix various issues with the dive add / edit manual dive code
- get_gas_from_events does NOT always set o2/he. It only updates them IFF a matching event is found; so we need to make sure we start out with a valid gas mix - the way we tried to restore the edited dive in case of an edit to a manually added that is cancelled was completely bogus. Way too complex when we can simply and reliably simply store the dive and then copy it back Fixes #270 Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
Diffstat (limited to 'qt-ui/maintab.cpp')
-rw-r--r--qt-ui/maintab.cpp4
1 files changed, 3 insertions, 1 deletions
diff --git a/qt-ui/maintab.cpp b/qt-ui/maintab.cpp
index 16350f709..7c94ab4c8 100644
--- a/qt-ui/maintab.cpp
+++ b/qt-ui/maintab.cpp
@@ -565,7 +565,9 @@ void MainTab::rejectChanges()
// clean up
DivePlannerPointsModel::instance()->cancelPlan();
} else if (lastMode == MANUALLY_ADDED_DIVE ) {
- DivePlannerPointsModel::instance()->undoEdition(); // that's BOGUS... just copy the original dive back and be done with it...
+ // when we tried to edit a manually added dive, we destroyed
+ // the dive we edited, so let's just restore it from backup
+ DivePlannerPointsModel::instance()->restoreBackupDive();
}
struct dive *curr = current_dive;
ui.notes->setText(notesBackup[curr].notes );