summaryrefslogtreecommitdiff
path: root/src/mbgl/tile/geometry_tile.cpp
diff options
context:
space:
mode:
authorMikhail Pozdnyakov <mikhail.pozdnyakov@mapbox.com>2019-06-27 17:19:53 +0300
committerMikhail Pozdnyakov <mikhail.pozdnyakov@mapbox.com>2019-07-02 16:05:09 +0300
commitaffb21a61248223c81c18f37fb7e2ae7d0ec76a4 (patch)
treea7766440e4a14f9ff4e23ee928d5a0ce57d2484f /src/mbgl/tile/geometry_tile.cpp
parentc1445913220023fdaf8ec5960eb6cba27c348864 (diff)
downloadqtlocation-mapboxgl-affb21a61248223c81c18f37fb7e2ae7d0ec76a4.tar.gz
[core] Geometry tile updates layer render data if its constants mask remains
Thus, we do not have to wait for tile update completion in case the updated properties have the same constants mask, i.e. fit the existing bucket.
Diffstat (limited to 'src/mbgl/tile/geometry_tile.cpp')
-rw-r--r--src/mbgl/tile/geometry_tile.cpp5
1 files changed, 3 insertions, 2 deletions
diff --git a/src/mbgl/tile/geometry_tile.cpp b/src/mbgl/tile/geometry_tile.cpp
index 7a7b7cb770..1bc7646d1e 100644
--- a/src/mbgl/tile/geometry_tile.cpp
+++ b/src/mbgl/tile/geometry_tile.cpp
@@ -212,13 +212,14 @@ const LayerRenderData* GeometryTile::getLayerRenderData(const style::Layer::Impl
return that->getMutableLayerRenderData(layerImpl);
}
-bool GeometryTile::updateLayerProperties(const Immutable<style::LayerProperties>& layerProperties) {
+bool GeometryTile::layerPropertiesUpdated(const Immutable<style::LayerProperties>& layerProperties) {
LayerRenderData* renderData = getMutableLayerRenderData(*layerProperties->baseImpl);
if (!renderData) {
return false;
}
- if (renderData->layerProperties != layerProperties) {
+ if (renderData->layerProperties != layerProperties &&
+ renderData->layerProperties->constantsMask() == layerProperties->constantsMask()) {
renderData->layerProperties = layerProperties;
}