aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--CHANGELOG.md1
-rw-r--r--core/divelist.c6
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)