diff options
-rw-r--r-- | mobile-widgets/qml/DiveDetails.qml | 20 |
1 files changed, 11 insertions, 9 deletions
diff --git a/mobile-widgets/qml/DiveDetails.qml b/mobile-widgets/qml/DiveDetails.qml index a30984a9a..db99879d4 100644 --- a/mobile-widgets/qml/DiveDetails.qml +++ b/mobile-widgets/qml/DiveDetails.qml @@ -216,14 +216,16 @@ Kirigami.Page { } onCurrentItemChanged: { - // why do we do this? What consumes this? - manager.selectedDiveTimestamp = currentItem.modelData.date - // make sure the core data structures reflect that this dive is selected - manager.selectDive(currentItem.modelData.id) - // update the map to show the highlighted flag and center on it - if (rootItem.pageIndex(mapPage) !== -1) { - mapPage.reloadMap() - mapPage.centerOnDiveSite(currentItem.modelData.diveSite) + if (currentItem && currentItem.modelData) { + // this is used when loading dives to maintain relative position in the dive list + manager.selectedDiveTimestamp = currentItem.modelData.date + // make sure the core data structures reflect that this dive is selected + manager.selectDive(currentItem.modelData.id) + // update the map to show the highlighted flag and center on it + if (rootItem.pageIndex(mapPage) !== -1) { + mapPage.reloadMap() + mapPage.centerOnDiveSite(currentItem.modelData.diveSite) + } } } @@ -256,7 +258,7 @@ Kirigami.Page { dive_id = modelData.id number = modelData.number date = modelData.dateTime - location = modelData.location + location = modelData.location !== undefined ? location : "" locationIndex = manager.locationList.indexOf(modelData.location) gps = modelData.gps gpsCheckbox = false |