summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMolly Lloyd <molly@mapbox.com>2018-01-18 14:56:42 -0800
committerMolly Lloyd <molly@mapbox.com>2018-01-18 18:10:10 -0800
commit40dbf94b03c1446f544865e32f79ccb08de5d444 (patch)
treea3785eaf17631e2c0bdf53e59bdc86919ec1708a
parent2ea3b60e24da5447e616b294d9200ea669eed2b5 (diff)
downloadqtlocation-mapboxgl-40dbf94b03c1446f544865e32f79ccb08de5d444.tar.gz
guard against redoing backfill work for the borderTile
-rw-r--r--src/mbgl/renderer/sources/render_raster_dem_source.cpp8
1 files changed, 7 insertions, 1 deletions
diff --git a/src/mbgl/renderer/sources/render_raster_dem_source.cpp b/src/mbgl/renderer/sources/render_raster_dem_source.cpp
index b8bb2ce1cd..a91815563f 100644
--- a/src/mbgl/renderer/sources/render_raster_dem_source.cpp
+++ b/src/mbgl/renderer/sources/render_raster_dem_source.cpp
@@ -114,7 +114,13 @@ void RenderRasterDEMSource::onTileChanged(Tile& tile){
if (renderableNeighbor != nullptr && renderableNeighbor->isRenderable()) {
RasterDEMTile& borderTile = static_cast<RasterDEMTile&>(*renderableNeighbor);
demtile.backfillBorder(borderTile, mask);
- borderTile.backfillBorder(demtile, opposites[mask]);
+
+ // if the border tile has not been backfilled by a previous instance of the main
+ // tile, backfill its corresponding neighbor as well.
+ const DEMTileNeighbors& borderMask = opposites[mask];
+ if ((borderTile.neighboringTiles & borderMask) != borderMask){
+ borderTile.backfillBorder(demtile, borderMask);
+ }
}
}
}