aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--qt-models/divelistmodel.cpp13
1 files changed, 9 insertions, 4 deletions
diff --git a/qt-models/divelistmodel.cpp b/qt-models/divelistmodel.cpp
index 9ddf05dbc..bef2c5158 100644
--- a/qt-models/divelistmodel.cpp
+++ b/qt-models/divelistmodel.cpp
@@ -119,10 +119,15 @@ QString DiveListModel::startAddDive()
struct dive *d;
d = alloc_dive();
d->when = QDateTime::currentMSecsSinceEpoch() / 1000L + gettimezoneoffset();
- struct dive *pd = get_dive(dive_table.nr - 1);
- int nr = 1;
- if (pd && pd->number > 0)
- nr = pd->number + 1;
+
+ // find the highest dive nr we have and pick the next one
+ struct dive *pd;
+ int i, nr = 0;
+ for_each_dive(i, pd) {
+ if (pd->number > nr)
+ nr = pd->number;
+ }
+ nr++;
d->number = nr;
d->dc.model = strdup("manually added dive");
add_single_dive(-1, d);