diff options
-rw-r--r-- | CHANGELOG.md | 1 | ||||
-rw-r--r-- | core/divelist.c | 6 |
2 files changed, 6 insertions, 1 deletions
diff --git a/CHANGELOG.md b/CHANGELOG.md index 05ec45f0b..647f07628 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,6 @@ - Import: Small enhancements on Suunto SDE import - Desktop: Add import dive site menu option and site selection dialog +- Core: Sort dives by number if at the same date - Core: fix bug in get_distance() to correctly compute spherical distance - Desktop: For videos, add save data export as subtitle file - Desktop: make dive sites 1st class citizens with their own dive site table diff --git a/core/divelist.c b/core/divelist.c index f7a3f5643..9ae87a328 100644 --- a/core/divelist.c +++ b/core/divelist.c @@ -779,7 +779,7 @@ struct dive *last_selected_dive() * After editing a key used in this sort-function, the order of * the dives must be re-astablished. * Currently, this does a lexicographic sort on the - * (start-time, trip-time, id) tuple. + * (start-time, trip-time, number, id) tuple. * trip-time is defined such that dives that do not belong to * a trip are sorted *after* dives that do. Thus, in the default * chronologically-descending sort order, they are shown *before*. @@ -804,6 +804,10 @@ static int comp_dives(const struct dive *a, const struct dive *b) if (trip_date(a->divetrip) > trip_date(b->divetrip)) return 1; } + if (a->number < b->number) + return -1; + if (a->number > b->number) + return 1; if (a->id < b->id) return -1; if (a->id > b->id) |