Core: pass dive, cylinder-id to fill_default_cylinder

The fill_default_cylinder() function calculated the MOD based
on the currently displayed dive. This does not seem to make sense:
- When importing dives, why would we care about the altitude and
  salinity of the currently displayed dive, possibly from a different
  trip.
- The planner is supposed to be thread-safe and should not touch
  global variables.

Of course this means that the importing-functions have to fill
out altitude and salinity before creating the default cylinder,
but this is their problem. For a freshly created dive they will
get the default values, which still seems less random than the
values from the displayed dive.

Signed-off-by: Berthold Stoeger <bstoeger@mail.tuwien.ac.at>
This commit is contained in:
Berthold Stoeger 2019-08-06 11:19:32 +02:00 committed by Dirk Hohndel
parent 6ce4aeb04e
commit 00944f7a02
7 changed files with 11 additions and 10 deletions

View file

@ -165,7 +165,7 @@ void DivePlannerPointsModel::setupCylinders()
return; // We have at least one cylinder
}
if (!empty_string(prefs.default_cylinder)) {
fill_default_cylinder(&displayed_dive.cylinder[0]);
fill_default_cylinder(&displayed_dive, 0);
displayed_dive.cylinder[0].start = displayed_dive.cylinder[0].type.workingpressure;
}
if (cylinder_none(&displayed_dive.cylinder[0])) {