summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKonstantin Käfer <mail@kkaefer.com>2017-06-02 15:20:13 +0200
committerKonstantin Käfer <mail@kkaefer.com>2017-06-03 12:51:01 +0200
commit41d2496c07e54a8dad70aea4610c7200711983e5 (patch)
tree03077481bc17b226ae9f5662189a5ae65d045002
parent0b8bc87e503f7ab4ebada16fe3f8e78a989194bb (diff)
downloadqtlocation-mapboxgl-41d2496c07e54a8dad70aea4610c7200711983e5.tar.gz
[core] use the last field in a property value, rather than the first field
-rw-r--r--src/mbgl/tile/vector_tile.cpp27
1 files changed, 17 insertions, 10 deletions
diff --git a/src/mbgl/tile/vector_tile.cpp b/src/mbgl/tile/vector_tile.cpp
index 96961e1da7..67b97c1c05 100644
--- a/src/mbgl/tile/vector_tile.cpp
+++ b/src/mbgl/tile/vector_tile.cpp
@@ -105,29 +105,36 @@ void VectorTile::setData(std::shared_ptr<const std::string> data_,
}
Value parseValue(protozero::pbf_reader data) {
- while (data.next())
- {
+ Value value;
+ while (data.next()) {
switch (data.tag()) {
case 1: // string_value
- return data.get_string();
+ value = data.get_string();
+ break;
case 2: // float_value
- return static_cast<double>(data.get_float());
+ value = static_cast<double>(data.get_float());
+ break;
case 3: // double_value
- return data.get_double();
+ value = data.get_double();
+ break;
case 4: // int_value
- return data.get_int64();
+ value = data.get_int64();
+ break;
case 5: // uint_value
- return data.get_uint64();
+ value = data.get_uint64();
+ break;
case 6: // sint_value
- return data.get_sint64();
+ value = data.get_sint64();
+ break;
case 7: // bool_value
- return data.get_bool();
+ value = data.get_bool();
+ break;
default:
data.skip();
break;
}
}
- return NullValue{};
+ return value;
}
VectorTileFeature::VectorTileFeature(protozero::pbf_reader feature_pbf, std::shared_ptr<VectorTileLayerData> layerData_)