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); });