diff options
author | Chris Loer <chris.loer@gmail.com> | 2017-11-07 17:38:38 -0800 |
---|---|---|
committer | Chris Loer <chris.loer@gmail.com> | 2017-11-07 17:38:38 -0800 |
commit | 90f6a234d2b866af8884f2c3d8fc485fb379a16a (patch) | |
tree | 8a0b84e8d3ea533fe30ea23afed3c6c48caa62e5 | |
parent | 6d6d1fcacff7270a37b3dd53f0259a1d0aabc31a (diff) | |
download | qtlocation-mapboxgl-90f6a234d2b866af8884f2c3d8fc485fb379a16a.tar.gz |
'make test-node-recycle-map' fails if the cross tile symbol index is re-used, so this commit clears it out for each still frame.
-rw-r--r-- | src/mbgl/renderer/renderer_impl.cpp | 4 | ||||
-rw-r--r-- | src/mbgl/text/cross_tile_symbol_index.cpp | 5 | ||||
-rw-r--r-- | src/mbgl/text/cross_tile_symbol_index.hpp | 2 |
3 files changed, 11 insertions, 0 deletions
diff --git a/src/mbgl/renderer/renderer_impl.cpp b/src/mbgl/renderer/renderer_impl.cpp index 8c19ebe73e..af0c491e15 100644 --- a/src/mbgl/renderer/renderer_impl.cpp +++ b/src/mbgl/renderer/renderer_impl.cpp @@ -366,6 +366,10 @@ void Renderer::Impl::render(const UpdateParameters& updateParameters) { } bool symbolBucketsChanged = false; + if (parameters.mapMode == MapMode::Still) { + // TODO: Think about right way for symbol index to handle still rendering + crossTileSymbolIndex->reset(); + } for (auto it = order.rbegin(); it != order.rend(); ++it) { if (it->layer.is<RenderSymbolLayer>()) { if (crossTileSymbolIndex->addLayer(*it->layer.as<RenderSymbolLayer>())) symbolBucketsChanged = true; diff --git a/src/mbgl/text/cross_tile_symbol_index.cpp b/src/mbgl/text/cross_tile_symbol_index.cpp index 8655e45804..779bec283c 100644 --- a/src/mbgl/text/cross_tile_symbol_index.cpp +++ b/src/mbgl/text/cross_tile_symbol_index.cpp @@ -158,5 +158,10 @@ bool CrossTileSymbolIndex::addLayer(RenderSymbolLayer& symbolLayer) { } return symbolBucketsChanged; } + +void CrossTileSymbolIndex::reset() { + layerIndexes.clear(); +} + } // namespace mbgl diff --git a/src/mbgl/text/cross_tile_symbol_index.hpp b/src/mbgl/text/cross_tile_symbol_index.hpp index a9e1356059..0b8c5c4780 100644 --- a/src/mbgl/text/cross_tile_symbol_index.hpp +++ b/src/mbgl/text/cross_tile_symbol_index.hpp @@ -58,6 +58,8 @@ class CrossTileSymbolIndex { CrossTileSymbolIndex(); bool addLayer(RenderSymbolLayer&); + + void reset(); private: std::map<std::string,CrossTileSymbolLayerIndex> layerIndexes; }; |