diff options
-rw-r--r-- | divelist.c | 21 |
1 files changed, 12 insertions, 9 deletions
diff --git a/divelist.c b/divelist.c index 6397f62fd..6b09b7d3d 100644 --- a/divelist.c +++ b/divelist.c @@ -1461,15 +1461,18 @@ static gint dive_nr_sort(GtkTreeModel *model, tripb = b->divetrip; } - if (!tripa || !tripb) - return 0; - if (tripa->when < tripb->when) - return -1; - if (tripa->when > tripb->when) - return 1; - if (a && b) - return a->when - b->when; - return 0; + /* + * Compare dive dates within the same trip (or when there + * are no trips involved at all). But if we have two + * different trips use the trip dates for comparison + */ + if (tripa != tripb) { + if (tripa) + when_a = tripa->when; + if (tripb) + when_b = tripb->when; + } + return when_a - when_b; } |