diff options
author | Ansis Brammanis <ansis@mapbox.com> | 2020-02-10 11:38:44 -0500 |
---|---|---|
committer | Ansis Brammanis <ansis@mapbox.com> | 2020-02-10 11:38:44 -0500 |
commit | a39935dafb9f7021134f9de2e6b1d84498b4276d (patch) | |
tree | ee12bfb7be5e630dda3bf8b26bf1197551ad61f2 | |
parent | f3e8670c49cee4de1bac5d346fc8c5b7b68b6a2c (diff) | |
download | qtlocation-mapboxgl-a39935dafb9f7021134f9de2e6b1d84498b4276d.tar.gz |
fixup
-rw-r--r-- | src/mbgl/renderer/layers/render_symbol_layer.cpp | 2 | ||||
-rw-r--r-- | src/mbgl/text/placement.cpp | 6 |
2 files changed, 8 insertions, 0 deletions
diff --git a/src/mbgl/renderer/layers/render_symbol_layer.cpp b/src/mbgl/renderer/layers/render_symbol_layer.cpp index 261b60e46e..98dfbd21d6 100644 --- a/src/mbgl/renderer/layers/render_symbol_layer.cpp +++ b/src/mbgl/renderer/layers/render_symbol_layer.cpp @@ -424,6 +424,8 @@ void RenderSymbolLayer::render(PaintParameters& parameters) { assert(bucket.paintProperties.find(getID()) != bucket.paintProperties.end()); const auto& bucketPaintProperties = bucket.paintProperties.at(getID()); + bucket.justReloaded = false; + auto addRenderables = [&renderableSegments, &tile, renderData, &bucketPaintProperties, it = renderableSegments.begin()] (auto& segments, const SymbolType type) mutable { for (auto& segment : segments) { it = renderableSegments.emplace_hint(it, SegmentWrapper{std::ref(segment)}, tile, *renderData, bucketPaintProperties, segment.sortKey, type); diff --git a/src/mbgl/text/placement.cpp b/src/mbgl/text/placement.cpp index 345a096eb1..c489557ffa 100644 --- a/src/mbgl/text/placement.cpp +++ b/src/mbgl/text/placement.cpp @@ -666,6 +666,12 @@ void Placement::placeBucket(const SymbolBucket& bucket, placeSymbol(*it); } } + + // As long as this placement lives, we have to hold onto this bucket's + // matching FeatureIndex/data for querying purposes + retainedQueryData.emplace(std::piecewise_construct, + std::forward_as_tuple(bucket.bucketInstanceId), + std::forward_as_tuple(bucket.bucketInstanceId, params.featureIndex, overscaledID)); } void Placement::commit() { |