summaryrefslogtreecommitdiff
path: root/src/mbgl/programs/symbol_program.hpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/mbgl/programs/symbol_program.hpp')
-rw-r--r--src/mbgl/programs/symbol_program.hpp8
1 files changed, 4 insertions, 4 deletions
diff --git a/src/mbgl/programs/symbol_program.hpp b/src/mbgl/programs/symbol_program.hpp
index 3bf82009e2..5fb0c4f15f 100644
--- a/src/mbgl/programs/symbol_program.hpp
+++ b/src/mbgl/programs/symbol_program.hpp
@@ -371,10 +371,10 @@ public:
.concat(paintPropertyBinders.attributeBindings(currentProperties));
for (auto& segment : segments) {
- optional<gl::VertexArray>& vertexArray = segment.vertexArrays[layerID];
+ auto vertexArrayIt = segment.vertexArrays.find(layerID);
- if (!vertexArray) {
- vertexArray = context.createVertexArray();
+ if (vertexArrayIt == segment.vertexArrays.end()) {
+ vertexArrayIt = segment.vertexArrays.emplace(layerID, context.createVertexArray()).first;
}
program.draw(
@@ -384,7 +384,7 @@ public:
std::move(stencilMode),
std::move(colorMode),
allUniformValues,
- *vertexArray,
+ vertexArrayIt->second,
Attributes::offsetBindings(allAttributeBindings, segment.vertexOffset),
indexBuffer,
segment.indexOffset,