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:
authorYuri Gorshenin <y@maps.me>2016-07-05 21:28:14 +0300
committerYuri Gorshenin <y@maps.me>2016-07-05 21:43:49 +0300
commitabad74b76c735eca873ee1384de40607993aec32 (patch)
tree888a078227bc383ced634f6332b3640061586baa /generator
parente7915eb557ff76a913e934da17c601d71f891fe6 (diff)
[indexer] Fixed FeaturesLoaderGuard.
Diffstat (limited to 'generator')
-rw-r--r--generator/routing_generator.cpp14
-rw-r--r--generator/srtm_coverage_checker/srtm_coverage_checker.cpp3
2 files changed, 13 insertions, 4 deletions
diff --git a/generator/routing_generator.cpp b/generator/routing_generator.cpp
index 1b39c9584f..796bb878c8 100644
--- a/generator/routing_generator.cpp
+++ b/generator/routing_generator.cpp
@@ -176,8 +176,11 @@ void FindCrossNodes(osrm::NodeDataVectorT const & nodeData, gen::OsmID2FeatureID
{
FeatureType ft;
Index::FeaturesLoaderGuard loader(index, mwmId);
- loader.GetFeatureByIndex(osm2ft.GetFeatureID(startSeg.wayId), ft);
- LOG(LINFO, ("Double border intersection", wgsIntersection, "rank:", GetWarningRank(ft)));
+ if (loader.GetFeatureByIndex(osm2ft.GetFeatureID(startSeg.wayId), ft))
+ {
+ LOG(LINFO,
+ ("Double border intersection", wgsIntersection, "rank:", GetWarningRank(ft)));
+ }
}
}
}
@@ -318,7 +321,12 @@ void BuildRoutingIndex(string const & baseDir, string const & countryName, strin
FeatureType ft;
Index::FeaturesLoaderGuard loader(index, p.first);
- loader.GetFeatureByIndex(fID, ft);
+ if (!loader.GetFeatureByIndex(fID, ft))
+ {
+ LOG(LWARNING,
+ ("Can't read feature for way:", seg.wayId, "probably map is damaged or deleted."));
+ continue;
+ }
ft.ParseGeometry(FeatureType::BEST_GEOMETRY);
diff --git a/generator/srtm_coverage_checker/srtm_coverage_checker.cpp b/generator/srtm_coverage_checker/srtm_coverage_checker.cpp
index 3df3a27eea..fd02999714 100644
--- a/generator/srtm_coverage_checker/srtm_coverage_checker.cpp
+++ b/generator/srtm_coverage_checker/srtm_coverage_checker.cpp
@@ -84,7 +84,8 @@ int main(int argc, char * argv[])
FeatureType ft;
Index::FeaturesLoaderGuard loader(
fetcher->GetIndex(), fetcher->GetIndex().GetMwmIdByCountryFile(file.GetCountryFile()));
- loader.GetFeatureByIndex(segment.m_fid, ft);
+ if (!loader.GetFeatureByIndex(segment.m_fid, ft))
+ continue;
ft.ParseGeometry(FeatureType::BEST_GEOMETRY);
// Get points in proper direction.