diff --git a/desktop-widgets/locationinformation.cpp b/desktop-widgets/locationinformation.cpp index 69fc330d0..65ccfa7f0 100644 --- a/desktop-widgets/locationinformation.cpp +++ b/desktop-widgets/locationinformation.cpp @@ -341,7 +341,7 @@ void LocationInformationWidget::updateLocationOnMap() location_t location; if (!parseGpsText(ui.diveSiteCoordinates->text(), location)) return; - MapWidget::instance()->updateDiveSiteCoordinates(diveSite->uuid, location); + MapWidget::instance()->updateDiveSiteCoordinates(diveSite, location); filter_model.setCoordinates(location); } diff --git a/desktop-widgets/mapwidget.cpp b/desktop-widgets/mapwidget.cpp index 211840884..9d3735efb 100644 --- a/desktop-widgets/mapwidget.cpp +++ b/desktop-widgets/mapwidget.cpp @@ -116,10 +116,10 @@ void MapWidget::coordinatesChangedLocal(const location_t &location) emit coordinatesChanged(location); } -void MapWidget::updateDiveSiteCoordinates(uint32_t uuid, const location_t &location) +void MapWidget::updateDiveSiteCoordinates(struct dive_site *ds, const location_t &location) { CHECK_IS_READY_RETURN_VOID(); - m_mapHelper->updateDiveSiteCoordinates(uuid, location); + m_mapHelper->updateDiveSiteCoordinates(ds, location); } MapWidget::~MapWidget() diff --git a/desktop-widgets/mapwidget.h b/desktop-widgets/mapwidget.h index 7ba62c6cf..4eb0d3ca9 100644 --- a/desktop-widgets/mapwidget.h +++ b/desktop-widgets/mapwidget.h @@ -37,7 +37,7 @@ public slots: void selectedDivesChanged(QList); void coordinatesChangedLocal(const location_t &); void doneLoading(QQuickWidget::Status status); - void updateDiveSiteCoordinates(uint32_t uuid, const location_t &); + void updateDiveSiteCoordinates(struct dive_site *ds, const location_t &); private: static MapWidget *m_instance; diff --git a/map-widget/qmlmapwidgethelper.cpp b/map-widget/qmlmapwidgethelper.cpp index b9c4e2eeb..e4311cf83 100644 --- a/map-widget/qmlmapwidgethelper.cpp +++ b/map-widget/qmlmapwidgethelper.cpp @@ -273,12 +273,14 @@ void MapWidgetHelper::updateCurrentDiveSiteCoordinatesFromMap(quint32 uuid, QGeo emit coordinatesChanged(location); } -void MapWidgetHelper::updateDiveSiteCoordinates(uint32_t uuid, const location_t &location) +void MapWidgetHelper::updateDiveSiteCoordinates(struct dive_site *ds, const location_t &location) { + if (!ds) + return; const qreal latitude_r = location.lat.udeg * 0.000001; const qreal longitude_r = location.lon.udeg * 0.000001; QGeoCoordinate coord(latitude_r, longitude_r); - m_mapLocationModel->updateMapLocationCoordinates(uuid, coord); + m_mapLocationModel->updateMapLocationCoordinates(ds->uuid, coord); QMetaObject::invokeMethod(m_map, "centerOnCoordinate", Q_ARG(QVariant, QVariant::fromValue(coord))); } diff --git a/map-widget/qmlmapwidgethelper.h b/map-widget/qmlmapwidgethelper.h index 65fb85f33..f0d17a28d 100644 --- a/map-widget/qmlmapwidgethelper.h +++ b/map-widget/qmlmapwidgethelper.h @@ -36,7 +36,7 @@ public: Q_INVOKABLE void calculateSmallCircleRadius(QGeoCoordinate coord); Q_INVOKABLE void updateCurrentDiveSiteCoordinatesFromMap(quint32 uuid, QGeoCoordinate coord); Q_INVOKABLE void selectVisibleLocations(); - void updateDiveSiteCoordinates(uint32_t uuid, const location_t &); + void updateDiveSiteCoordinates(struct dive_site *ds, const location_t &); void enterEditMode(struct dive_site *ds); void exitEditMode(); QString pluginObject();