Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/mapsme/omim.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorOlga Khlopkova <o.khlopkova@corp.mail.ru>2020-06-08 16:47:32 +0300
committerVladimir Byko-Ianko <bykoianko@gmail.com>2020-06-09 08:49:37 +0300
commitad2ff7e3a7f6a5b0ed7d9a7f41464f61ab55b194 (patch)
tree5844ba88cbbada8ce5884cfcff37c52f6d563f88
parentbc1b9a6b92cdae77a29c62867aee72b961ee5cee (diff)
[routing] Fix for crash in CarDirectionsEngine::Generate.release-100
-rw-r--r--routing/car_directions.cpp15
1 files changed, 12 insertions, 3 deletions
diff --git a/routing/car_directions.cpp b/routing/car_directions.cpp
index dfb1f8a141..920196ab48 100644
--- a/routing/car_directions.cpp
+++ b/routing/car_directions.cpp
@@ -201,9 +201,18 @@ bool CarDirectionsEngine::Generate(IndexRoadGraph const & graph,
return false;
::RoutingResult resultGraph(routeEdges, m_adjacentEdges, m_pathSegments);
- MakeTurnAnnotation(resultGraph, *m_numMwmIds, cancellable, routeGeometry, turns, streetNames,
- segments);
- CHECK_EQUAL(routeGeometry.size(), pathSize, ());
+ auto const res = MakeTurnAnnotation(resultGraph, *m_numMwmIds, cancellable, routeGeometry, turns,
+ streetNames, segments);
+
+ if (res != RouterResultCode::NoError)
+ return false;
+
+ CHECK_EQUAL(
+ routeGeometry.size(), pathSize,
+ ("routeGeometry and path have different sizes. routeGeometry size:", routeGeometry.size(),
+ "path size:", pathSize, "segments size:", segments.size(), "routeEdges size:",
+ routeEdges.size(), "resultGraph.GetSegments() size:", resultGraph.GetSegments().size()));
+
// In case of bicycle routing |m_pathSegments| may have an empty
// |LoadedPathSegment::m_segments| fields. In that case |segments| is empty
// so size of |segments| is not equal to size of |routeEdges|.