diff options
-rw-r--r-- | divesite.c | 13 | ||||
-rw-r--r-- | divesite.h | 1 | ||||
-rw-r--r-- | qt-ui/maintab.cpp | 1 |
3 files changed, 15 insertions, 0 deletions
diff --git a/divesite.c b/divesite.c index e096c7172..0abd664c0 100644 --- a/divesite.c +++ b/divesite.c @@ -156,3 +156,16 @@ bool dive_site_is_empty(struct dive_site *ds) ds->latitude.udeg == 0 && ds->longitude.udeg == 0; } + +void copy_dive_site(struct dive_site *orig, struct dive_site *copy) +{ + free(copy->name); + free(copy->notes); + free(copy->description); + + copy->latitude = orig->latitude; + copy->longitude = orig->longitude; + copy->name = copy_string(orig->name); + copy->notes = copy_string(orig->notes); + copy->description = copy_string(orig->description); +} diff --git a/divesite.h b/divesite.h index 79adf664a..13a8d7f38 100644 --- a/divesite.h +++ b/divesite.h @@ -55,6 +55,7 @@ uint32_t get_dive_site_uuid_by_name(const char *name, struct dive_site **dsp); uint32_t get_dive_site_uuid_by_gps(degrees_t latitude, degrees_t longitude, struct dive_site **dsp); uint32_t get_dive_site_uuid_by_gps_proximity(degrees_t latitude, degrees_t longitude, int distance, struct dive_site **dsp); bool dive_site_is_empty(struct dive_site *ds); +void copy_dive_site(struct dive_site *orig, struct dive_site *copy); #ifdef __cplusplus } diff --git a/qt-ui/maintab.cpp b/qt-ui/maintab.cpp index a29123521..9c8cac2bf 100644 --- a/qt-ui/maintab.cpp +++ b/qt-ui/maintab.cpp @@ -703,6 +703,7 @@ void MainTab::updateDiveInfo(bool clear) ui.locationTags->hide(); else ui.locationTags->show(); + copy_dive_site(get_dive_site_by_uuid(displayed_dive.dive_site_uuid), &displayed_dive_site); } else { /* clear the fields */ |