[core] check null data in query source features (#8553)

* [core] check null data in query source features

* Include what you use
This commit is contained in:
John Firebaugh
2017-03-28 16:02:48 -07:00
committed by GitHub
parent c5c69102c5
commit 1edbb0f24b
2 changed files with 15 additions and 0 deletions

View File

@@ -165,6 +165,11 @@ void GeometryTile::queryRenderedFeatures(
void GeometryTile::querySourceFeatures(
std::vector<Feature>& result,
const style::SourceQueryOptions& options) {
// Data not yet available
if (!data) {
return;
}
// No source layers, specified, nothing to do
if (!options.sourceLayers) {

View File

@@ -7,6 +7,7 @@
#include <mbgl/util/run_loop.hpp>
#include <mbgl/map/transform.hpp>
#include <mbgl/style/style.hpp>
#include <mbgl/style/query.hpp>
#include <mbgl/style/update_parameters.hpp>
#include <mbgl/style/layers/symbol_layer.hpp>
#include <mbgl/renderer/symbol_bucket.hpp>
@@ -86,3 +87,12 @@ TEST(VectorTile, Issue7615) {
EXPECT_EQ(symbolBucket.get(), tile.getBucket(symbolLayer));
}
TEST(VectorTile, Issue8542) {
VectorTileTest test;
VectorTile tile(OverscaledTileID(0, 0, 0), "source", test.updateParameters, test.tileset);
// Query before data is set
std::vector<Feature> result;
tile.querySourceFeatures(result, { { {"layer"} }, {} });
}