summaryrefslogtreecommitdiffstats
path: root/qt-ui/diveplanner.cpp
diff options
context:
space:
mode:
authorGravatar Anton Lundin <glance@acc.umu.se>2013-12-19 22:11:31 +0100
committerGravatar Dirk Hohndel <dirk@hohndel.org>2013-12-20 09:53:05 -0800
commita84826090ab384952abe00a49cb71d2edb9d3af7 (patch)
tree2098552187f1bbd83297548826d06fb4ced6d11e /qt-ui/diveplanner.cpp
parent029522880ff639d983a372648eb3c053bce8e9ce (diff)
downloadsubsurface-a84826090ab384952abe00a49cb71d2edb9d3af7.tar.gz
Planner: don't abort when saving a dive
The fix for dereferencing a null pointer from me was a bad fix that broke the possibility of saving a planned dive as a dive. This is a better fix to not dereference a null pointer and be able to save the plan again. 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, 4 insertions, 3 deletions
diff --git a/qt-ui/diveplanner.cpp b/qt-ui/diveplanner.cpp
index 6fb9ecef3..223d9d657 100644
--- a/qt-ui/diveplanner.cpp
+++ b/qt-ui/diveplanner.cpp
@@ -1422,8 +1422,6 @@ void DivePlannerPointsModel::createTemporaryPlan()
lastIndex = i;
plan_add_segment(&diveplan, deltaT, p.depth, p.o2, p.he, p.po2);
}
- if (!diveplan.dp)
- return;
char *cache = NULL;
tempDive = NULL;
const char *errorString = NULL;
@@ -1432,7 +1430,10 @@ void DivePlannerPointsModel::createTemporaryPlan()
cylinder_t *cyl = &stagingDive->cylinder[i];
if (cyl->depth.mm) {
dp = create_dp(0, cyl->depth.mm, cyl->gasmix.o2.permille, cyl->gasmix.he.permille, 0);
- dp->next = diveplan.dp->next;
+ if (diveplan.dp)
+ dp->next = diveplan.dp->next;
+ else
+ dp->next = NULL;
diveplan.dp->next = dp;
}
}