diff options
Diffstat (limited to 'src/mbgl/renderer/renderer_impl.cpp')
-rw-r--r-- | src/mbgl/renderer/renderer_impl.cpp | 10 |
1 files changed, 4 insertions, 6 deletions
diff --git a/src/mbgl/renderer/renderer_impl.cpp b/src/mbgl/renderer/renderer_impl.cpp index ca9e809977..fea27403c9 100644 --- a/src/mbgl/renderer/renderer_impl.cpp +++ b/src/mbgl/renderer/renderer_impl.cpp @@ -387,6 +387,8 @@ void Renderer::Impl::render(const UpdateParameters& updateParameters) { bool placementChanged = false; if (!placement->stillRecent(parameters.timePoint)) { + placementChanged = true; + auto newPlacement = std::make_unique<Placement>(parameters.state, parameters.mapMode); std::set<std::string> usedSymbolLayers; for (auto it = order.rbegin(); it != order.rend(); ++it) { @@ -396,13 +398,9 @@ void Renderer::Impl::render(const UpdateParameters& updateParameters) { } } - placementChanged = newPlacement->commit(*placement, parameters.timePoint); + newPlacement->commit(*placement, parameters.timePoint); crossTileSymbolIndex.pruneUnusedLayers(usedSymbolLayers); - if (placementChanged || symbolBucketsChanged) { - placement = std::move(newPlacement); - } - - placement->setRecent(parameters.timePoint); + placement = std::move(newPlacement); updateFadingTiles(); } else { |