summaryrefslogtreecommitdiffstats
path: root/qt-ui/diveplanner.cpp
diff options
context:
space:
mode:
authorGravatar Anton Lundin <glance@acc.umu.se>2014-05-25 12:30:51 +0200
committerGravatar Dirk Hohndel <dirk@hohndel.org>2014-05-25 06:20:52 -0700
commitff966f2c1ab7a28bec2aa9f5ca8cca94bb7654e2 (patch)
treef28226bdbae1048d55b1555d02de2ea98f028cd5 /qt-ui/diveplanner.cpp
parenta85023a661928142da2b9d78775099b4a080569d (diff)
downloadsubsurface-ff966f2c1ab7a28bec2aa9f5ca8cca94bb7654e2.tar.gz
Move mod calculations to a separate helper
We use mod calculations on multiple places, so make a separate helper from it with proper types. The "clumsiness" of defining a local variable to pass into the function and out from it comes from the discrepancies in how c and c++ handles initializations of variables in a struct. Thanks goes to Tiago and Linus for pointing me in the right direction. Signed-off-by: Anton Lundin <glance@acc.umu.se> Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
Diffstat (limited to 'qt-ui/diveplanner.cpp')
-rw-r--r--qt-ui/diveplanner.cpp7
1 files changed, 3 insertions, 4 deletions
diff --git a/qt-ui/diveplanner.cpp b/qt-ui/diveplanner.cpp
index aaf530ca7..3ffacdd2b 100644
--- a/qt-ui/diveplanner.cpp
+++ b/qt-ui/diveplanner.cpp
@@ -499,10 +499,9 @@ bool DivePlannerPointsModel::addGas(int o2, int he)
cyl->gasmix.he.permille = he;
/* The depth to change to that gas is given by the depth where its pO2 is 1.6 bar.
* The user should be able to change this depth manually. */
- if (!o2)
- cyl->depth.mm = 1600 * 1000 / O2_IN_AIR * 10 - 10000;
- else
- cyl->depth.mm = 1600 * 1000 / o2 * 10 - 10000;
+ pressure_t modppO2;
+ modppO2.mbar = 1600;
+ cyl->depth = gas_mod(&cyl->gasmix, modppO2);
CylindersModel::instance()->setDive(stagingDive);
return true;
}