aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--divelist.c21
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;
}