aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--core/dive.c6
1 files changed, 4 insertions, 2 deletions
diff --git a/core/dive.c b/core/dive.c
index 20b39b6a3..23262540c 100644
--- a/core/dive.c
+++ b/core/dive.c
@@ -246,9 +246,11 @@ void add_extra_data(struct divecomputer *dc, const char *key, const char *value)
enum divemode_t get_current_divemode(const struct divecomputer *dc, int time, const struct event **evp, enum divemode_t *divemode)
{
const struct event *ev = *evp;
- if (*divemode == UNDEF_COMP_TYPE) {
+ if (*divemode == UNDEF_COMP_TYPE && dc) {
*divemode = dc->divemode;
- ev = dc ? get_next_event(dc->events, "modechange") : NULL;
+ ev = get_next_event(dc->events, "modechange");
+ } else {
+ ev = NULL;
}
while (ev && ev->time.seconds < time) {
*divemode = (enum divemode_t) ev->value;