diff options
-rw-r--r-- | src/mbgl/layout/symbol_layout.cpp | 2 | ||||
-rw-r--r-- | src/mbgl/text/glyph_manager.cpp | 5 | ||||
-rw-r--r-- | src/mbgl/tile/geometry_tile_data.cpp | 1 |
3 files changed, 5 insertions, 3 deletions
diff --git a/src/mbgl/layout/symbol_layout.cpp b/src/mbgl/layout/symbol_layout.cpp index dbf209b414..9459dcb716 100644 --- a/src/mbgl/layout/symbol_layout.cpp +++ b/src/mbgl/layout/symbol_layout.cpp @@ -366,7 +366,7 @@ void SymbolLayout::prepareSymbols(const GlyphMap& glyphMap, const GlyphPositions Shaping shaping = applyShaping(*feature.formattedText, WritingModeType::Horizontal, SymbolAnchorType::Center, justification); if (shaping) { shapingForJustification = std::move(shaping); - if (shaping.lineCount == 1u) { + if (shapingForJustification.lineCount == 1u) { shapedTextOrientations.singleLine = true; break; } diff --git a/src/mbgl/text/glyph_manager.cpp b/src/mbgl/text/glyph_manager.cpp index daa142e38f..990e8be945 100644 --- a/src/mbgl/text/glyph_manager.cpp +++ b/src/mbgl/text/glyph_manager.cpp @@ -98,8 +98,9 @@ void GlyphManager::processResponse(const Response& res, const FontStack& fontSta } for (auto& glyph : glyphs) { - entry.glyphs.erase(glyph.id); - entry.glyphs.emplace(glyph.id, makeMutable<Glyph>(std::move(glyph))); + auto id = glyph.id; + entry.glyphs.erase(id); + entry.glyphs.emplace(id, makeMutable<Glyph>(std::move(glyph))); } } diff --git a/src/mbgl/tile/geometry_tile_data.cpp b/src/mbgl/tile/geometry_tile_data.cpp index 5320df6893..adbcd6c599 100644 --- a/src/mbgl/tile/geometry_tile_data.cpp +++ b/src/mbgl/tile/geometry_tile_data.cpp @@ -74,6 +74,7 @@ std::vector<GeometryCollection> classifyRings(const GeometryCollection& rings) { if (ccw == (area < 0 ? -1 : 1) && !polygon.empty()) { polygons.emplace_back(std::move(polygon)); + polygon = GeometryCollection(); } polygon.emplace_back(ring); |