Fixed dive_set_geodata_from_picture segfault.

Segfault did appear when picture had some gps coordinates but
there was no dive site assigned to the dive.

Signed-off-by: Jan Darowski <jan.darowski@gmail.com>
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
This commit is contained in:
Jan Darowski 2015-03-16 19:48:55 +01:00 committed by Dirk Hohndel
parent f724b7ebf9
commit d45c2da81d

2
dive.c
View file

@ -2951,7 +2951,7 @@ unsigned int dive_get_picture_count(struct dive *d)
void dive_set_geodata_from_picture(struct dive *d, struct picture *pic) void dive_set_geodata_from_picture(struct dive *d, struct picture *pic)
{ {
struct dive_site *ds = get_dive_site_by_uuid(d->dive_site_uuid); struct dive_site *ds = get_dive_site_by_uuid(d->dive_site_uuid);
if (!dive_site_has_gps_location(ds) && (pic->latitude.udeg || pic->longitude.udeg)) { if (ds && !dive_site_has_gps_location(ds) && (pic->latitude.udeg || pic->longitude.udeg)) {
ds->latitude = pic->latitude; ds->latitude = pic->latitude;
ds->longitude = pic->longitude; ds->longitude = pic->longitude;
} }