From ff7bff48b8687f24c46a5885d318cb9e7cea6246 Mon Sep 17 00:00:00 2001 From: Dirk Hohndel Date: Wed, 28 May 2014 21:34:10 -0700 Subject: 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 --- qt-ui/diveplanner.cpp | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/qt-ui/diveplanner.cpp b/qt-ui/diveplanner.cpp index c3ba26932..b6fce75ca 100644 --- a/qt-ui/diveplanner.cpp +++ b/qt-ui/diveplanner.cpp @@ -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(); -- cgit v1.2.3-70-g09d2