summaryrefslogtreecommitdiffstats
path: root/libdivecomputer.c
diff options
context:
space:
mode:
Diffstat (limited to 'libdivecomputer.c')
-rw-r--r--libdivecomputer.c7
1 files changed, 7 insertions, 0 deletions
diff --git a/libdivecomputer.c b/libdivecomputer.c
index 2dee1389d..98245fb9b 100644
--- a/libdivecomputer.c
+++ b/libdivecomputer.c
@@ -181,6 +181,13 @@ sample_cb(dc_sample_type_t type, dc_sample_value_t value, void *userdata)
*/
sample = dc->samples ? dc->sample+dc->samples-1 : NULL;
+ /*
+ * Ok, sanity check.
+ * If first sample is not a DC_SAMPLE_TIME, Allocate a sample for us
+ */
+ if (sample == NULL && type != DC_SAMPLE_TIME)
+ sample = prepare_sample(dc);
+
switch (type) {
case DC_SAMPLE_TIME:
if (sample) {