diff options
-rw-r--r-- | core/divesite.c | 6 | ||||
-rw-r--r-- | core/divesite.h | 2 | ||||
-rw-r--r-- | desktop-widgets/modeldelegates.cpp | 2 |
3 files changed, 6 insertions, 4 deletions
diff --git a/core/divesite.c b/core/divesite.c index f6e96e3c5..437605b71 100644 --- a/core/divesite.c +++ b/core/divesite.c @@ -130,13 +130,15 @@ struct dive_site *alloc_or_get_dive_site(uint32_t uuid) return ds; } -int nr_of_dives_at_dive_site(uint32_t uuid, bool select_only) +int nr_of_dives_at_dive_site(struct dive_site *ds, bool select_only) { int j; int nr = 0; struct dive *d; + if (!ds) + return 0; for_each_dive(j, d) { - if (d->dive_site_uuid == uuid && (!select_only || d->selected)) { + if (d->dive_site_uuid == ds->uuid && (!select_only || d->selected)) { nr++; } } diff --git a/core/divesite.h b/core/divesite.h index 0b21d69af..f5754f5da 100644 --- a/core/divesite.h +++ b/core/divesite.h @@ -54,7 +54,7 @@ static inline struct dive_site *get_dive_site_by_uuid(uint32_t uuid) void dive_site_table_sort(); struct dive_site *alloc_or_get_dive_site(uint32_t uuid); -int nr_of_dives_at_dive_site(uint32_t uuid, bool select_only); +int nr_of_dives_at_dive_site(struct dive_site *ds, bool select_only); bool is_dive_site_used(uint32_t uuid, bool select_only); void free_dive_site(struct dive_site *ds); void delete_dive_site(uint32_t id); diff --git a/desktop-widgets/modeldelegates.cpp b/desktop-widgets/modeldelegates.cpp index 842598467..3a1428e02 100644 --- a/desktop-widgets/modeldelegates.cpp +++ b/desktop-widgets/modeldelegates.cpp @@ -492,7 +492,7 @@ void LocationFilterDelegate::paint(QPainter *painter, const QStyleOptionViewItem } else { int distanceMeters = get_distance(&ds->location, ¤tDiveSite->location); QString distance = distance_string(distanceMeters); - int nr = nr_of_dives_at_dive_site(ds->uuid, false); + int nr = nr_of_dives_at_dive_site(ds, false); bottomText += tr(" (~%1 away").arg(distance); bottomText += tr(", %n dive(s) here)", "", nr); } |