mirror of
https://github.com/subsurface/subsurface.git
synced 2025-02-19 22:16:15 +00:00
Make sure we don't create multiple dive sites with the same uuid
This shouldn't happen, but in case there is a logic error higher up in the code somewhere, this will prevent it from happening, period. If the code asks for a new dive site with a specific uuid, simply return the existing dive site with that uuid. Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
This commit is contained in:
parent
7ad1485c39
commit
edac07554c
5 changed files with 28 additions and 14 deletions
|
@ -1562,7 +1562,11 @@ static void dive_site_end(void)
|
|||
if (!cur_dive_site)
|
||||
return;
|
||||
if (cur_dive_site->uuid) {
|
||||
struct dive_site *ds = alloc_dive_site(0);
|
||||
// we intentionally call this with '0' to ensure we get
|
||||
// a new structure and then copy things into that new
|
||||
// structure a few lines below (which sets the correct
|
||||
// uuid)
|
||||
struct dive_site *ds = alloc_or_get_dive_site(0);
|
||||
if (cur_dive_site->taxonomy.nr == 0) {
|
||||
free(cur_dive_site->taxonomy.category);
|
||||
cur_dive_site->taxonomy.category = NULL;
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue