core: remove current_dc macro

There were only three users of that. For now do it inline, but
we may think about a separate function, which is only available
on desktop.

Moreover, add nullptr-checks, even if they are not strictly
necessary.

Signed-off-by: Berthold Stoeger <bstoeger@mail.tuwien.ac.at>
This commit is contained in:
Berthold Stoeger 2022-03-11 23:26:36 +01:00 committed by Dirk Hohndel
parent 5b4d4813f2
commit d5fafc0e44
3 changed files with 10 additions and 5 deletions

View file

@ -115,7 +115,6 @@ extern bool autogroup;
extern struct dive displayed_dive; extern struct dive displayed_dive;
extern unsigned int dc_number; extern unsigned int dc_number;
extern struct dive *current_dive; extern struct dive *current_dive;
#define current_dc (get_dive_dc(current_dive, dc_number))
extern struct dive *get_dive(int nr); extern struct dive *get_dive(int nr);
extern struct dive *get_dive_from_table(int nr, const struct dive_table *dt); extern struct dive *get_dive_from_table(int nr, const struct dive_table *dt);

View file

@ -20,7 +20,9 @@ TabDiveExtraInfo::~TabDiveExtraInfo()
void TabDiveExtraInfo::updateData() void TabDiveExtraInfo::updateData()
{ {
extraDataModel->updateDiveComputer(current_dc); const struct divecomputer *currentdc = get_dive_dc(current_dive, dc_number);
if (currentdc)
extraDataModel->updateDiveComputer(currentdc);
} }
void TabDiveExtraInfo::clear() void TabDiveExtraInfo::clear()

View file

@ -181,9 +181,10 @@ int TabDiveInformation::updateSalinityComboIndex(int salinity)
// If dive->user_salinity != dive->salinity (i.e. dc value) then show the salinity-overwrite indicator // If dive->user_salinity != dive->salinity (i.e. dc value) then show the salinity-overwrite indicator
void TabDiveInformation::checkDcSalinityOverWritten() void TabDiveInformation::checkDcSalinityOverWritten()
{ {
if (!current_dive) const struct divecomputer *currentdc = get_dive_dc(current_dive, dc_number);
if (!current_dive || !currentdc)
return; return;
int dc_value = current_dc->salinity; int dc_value = currentdc->salinity;
int user_value = current_dive->user_salinity; int user_value = current_dive->user_salinity;
bool show_indicator = false; bool show_indicator = false;
if (!manualDive && user_value != 0 && user_value != dc_value) if (!manualDive && user_value != 0 && user_value != dc_value)
@ -262,7 +263,10 @@ void TabDiveInformation::on_waterTypeCombo_activated(int index)
{ {
Q_UNUSED(index) Q_UNUSED(index)
int combobox_salinity = 0; int combobox_salinity = 0;
int dc_salinity = current_dc->salinity; const struct divecomputer *currentdc = get_dive_dc(current_dive, dc_number);
if (!currentdc)
return;
int dc_salinity = currentdc->salinity;
switch(ui->waterTypeCombo->currentIndex()) { switch(ui->waterTypeCombo->currentIndex()) {
case FRESHWATER: case FRESHWATER:
combobox_salinity = FRESHWATER_SALINITY; combobox_salinity = FRESHWATER_SALINITY;