From e8e94744f0195cbc836923d0ca56febd83c4dd4f Mon Sep 17 00:00:00 2001 From: Viktor Govako Date: Wed, 20 Aug 2025 14:53:24 -0300 Subject: [PATCH] [map] Fixed invalid route saving. Signed-off-by: Viktor Govako --- libs/map/framework.cpp | 3 ++- libs/map/routing_manager.cpp | 3 ++- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/libs/map/framework.cpp b/libs/map/framework.cpp index f717e2831..2c9a4333d 100644 --- a/libs/map/framework.cpp +++ b/libs/map/framework.cpp @@ -1704,7 +1704,8 @@ bool Framework::IsTrackRecordingEnabled() const void Framework::SaveRoute() { auto const trackId = m_routingManager.SaveRoute(); - ShowTrack(trackId); + if (trackId != kml::kInvalidTrackId) + ShowTrack(trackId); } void Framework::OnUpdateGpsTrackPointsCallback(vector> && toAdd, diff --git a/libs/map/routing_manager.cpp b/libs/map/routing_manager.cpp index 95e679086..b40e65f53 100644 --- a/libs/map/routing_manager.cpp +++ b/libs/map/routing_manager.cpp @@ -1091,7 +1091,8 @@ static std::string GetNameFromPoint(RouteMarkData const & rmd) kml::TrackId RoutingManager::SaveRoute() { std::vector junctions; - RoutingSession().GetRouteJunctionPoints(junctions); + if (!RoutingSession().GetRouteJunctionPoints(junctions)) + return kml::kInvalidTrackId; base::Unique(junctions, [](geometry::PointWithAltitude const & p1, geometry::PointWithAltitude const & p2) { return AlmostEqualAbs(p1, p2, kMwmPointAccuracy); });