diff options
-rw-r--r-- | CHANGELOG.md | 1 | ||||
-rw-r--r-- | core/dive.c | 6 |
2 files changed, 7 insertions, 0 deletions
diff --git a/CHANGELOG.md b/CHANGELOG.md index fd08a144a..939dc2ea2 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,4 @@ +- add GPS fix downloaded from a dive comuter to existing dive site - fix broken curser left/right shortcut for showing multiple dive computers - allow editing the profile for dives imported without samples (via CSV) - fix potential crash (and other errors) importing DL7 dives diff --git a/core/dive.c b/core/dive.c index 571f244df..a7d202ba5 100644 --- a/core/dive.c +++ b/core/dive.c @@ -2639,6 +2639,12 @@ struct dive *merge_dives(const struct dive *a, const struct dive *b, int offset, /* we take the first dive site, unless it's empty */ *site = a->dive_site && !dive_site_is_empty(a->dive_site) ? a->dive_site : b->dive_site; + if (!dive_site_has_gps_location(*site) && dive_site_has_gps_location(b->dive_site)) { + /* we picked the first dive site and that didn't have GPS data, but the new dive has + * GPS data (that could be a download from a GPS enabled dive computer). + * Keep the dive site, but add the GPS data */ + (*site)->location = b->dive_site->location; + } fixup_dive(res); free(cylinders_map_a); free(cylinders_map_b); |