summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBruno de Oliveira Abinader <bruno@mapbox.com>2017-05-10 18:14:35 +0300
committerBruno de Oliveira Abinader <bruno@mapbox.com>2017-05-12 18:07:36 +0300
commit5d89f6cd928ba1f0a6541384337622ff663567de (patch)
treef91eef70a4aaca9379e0754e211bbbccf28473da
parent5dfb315b2fed075fb19d37047db9442088e7769b (diff)
downloadqtlocation-mapboxgl-5d89f6cd928ba1f0a6541384337622ff663567de.tar.gz
[core] Avoid calling virtual GeometryTile::cancel() on dtor
warning: Call to virtual function during destruction will not dispatch to derived class [clang-analyzer-optin.cplusplus.VirtualCall]
-rw-r--r--src/mbgl/tile/geometry_tile.cpp6
-rw-r--r--src/mbgl/tile/geometry_tile.hpp2
2 files changed, 7 insertions, 1 deletions
diff --git a/src/mbgl/tile/geometry_tile.cpp b/src/mbgl/tile/geometry_tile.cpp
index a8eda38284..5079a33340 100644
--- a/src/mbgl/tile/geometry_tile.cpp
+++ b/src/mbgl/tile/geometry_tile.cpp
@@ -47,10 +47,14 @@ GeometryTile::GeometryTile(const OverscaledTileID& id_,
GeometryTile::~GeometryTile() {
glyphAtlas.removeGlyphs(*this);
spriteAtlas.removeRequestor(*this);
- cancel();
+ markObsolete();
}
void GeometryTile::cancel() {
+ markObsolete();
+}
+
+void GeometryTile::markObsolete() {
obsolete = true;
}
diff --git a/src/mbgl/tile/geometry_tile.hpp b/src/mbgl/tile/geometry_tile.hpp
index 594952d329..08965b6389 100644
--- a/src/mbgl/tile/geometry_tile.hpp
+++ b/src/mbgl/tile/geometry_tile.hpp
@@ -87,6 +87,8 @@ protected:
}
private:
+ void markObsolete();
+
const std::string sourceID;
style::Style& style;