Planner: make sure stagingDive is reset to NULL

If we first ADD a dive and then PLAN a dive, stagingDive first was an
alias to the current_dive (for ADD) - we need to make sure that when PLAN
is started, a new dive is allocated.

Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
This commit is contained in:
Dirk Hohndel 2014-05-28 21:34:10 -07:00
parent 6576790ff6
commit ff7bff48b8

View file

@ -316,6 +316,8 @@ void DivePlannerWidget::decoSacChanged(const QString &decosac)
void DivePlannerPointsModel::setPlanMode(Mode m)
{
mode = m;
if (m == NOTHING)
stagingDive = NULL;
}
bool DivePlannerPointsModel::isPlanner()
@ -671,10 +673,9 @@ void DivePlannerPointsModel::cancelPlan()
}
}
if (mode != ADD) {
if (mode != ADD) // for ADD stagingDive points at current_dive
free(stagingDive);
stagingDive = NULL;
}
stagingDive = NULL; // always reset the stagingDive to NULL
setPlanMode(NOTHING);
diveplan.dp = NULL;
emit planCanceled();