[core] fix crash when querying GeoJSON tiles

This commit is contained in:
Konstantin Käfer
2017-10-17 09:10:50 -07:00
committed by Bruno de Oliveira Abinader
parent 45dc313009
commit ab3547a216

View File

@@ -23,19 +23,19 @@ void GeoJSONTile::querySourceFeatures(
const SourceQueryOptions& options) {
// Ignore the sourceLayer, there is only one
auto layer = getData()->getLayer({});
if (layer) {
auto featureCount = layer->featureCount();
for (std::size_t i = 0; i < featureCount; i++) {
auto feature = layer->getFeature(i);
// Apply filter, if any
if (options.filter && !(*options.filter)(*feature)) {
continue;
if (auto tileData = getData()) {
if (auto layer = tileData->getLayer({})) {
auto featureCount = layer->featureCount();
for (std::size_t i = 0; i < featureCount; i++) {
auto feature = layer->getFeature(i);
// Apply filter, if any
if (options.filter && !(*options.filter)(*feature)) {
continue;
}
result.push_back(convertFeature(*feature, id.canonical));
}
result.push_back(convertFeature(*feature, id.canonical));
}
}
}