summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorKonstantin Käfer <mail@kkaefer.com>2017-05-18 14:30:20 +0200
committerKonstantin Käfer <mail@kkaefer.com>2017-05-18 16:57:12 +0200
commiteae2c715f1ead523de2984cde8708627bfc3f180 (patch)
tree615be92eaa9a651343792b23c881f9afaa09512a /src
parent5d7e54a815715458ee021ba4c4f5f3135876919b (diff)
downloadqtlocation-mapboxgl-eae2c715f1ead523de2984cde8708627bfc3f180.tar.gz
[core] add error for non-virtual destructor deletes + add virtual dtors
Diffstat (limited to 'src')
-rw-r--r--src/mbgl/programs/symbol_program.hpp8
-rw-r--r--src/mbgl/sprite/sprite_atlas.hpp1
-rw-r--r--src/mbgl/text/glyph_atlas.hpp1
3 files changed, 7 insertions, 3 deletions
diff --git a/src/mbgl/programs/symbol_program.hpp b/src/mbgl/programs/symbol_program.hpp
index 809eacdd6d..f86b2d97b7 100644
--- a/src/mbgl/programs/symbol_program.hpp
+++ b/src/mbgl/programs/symbol_program.hpp
@@ -93,6 +93,8 @@ public:
// particular attribute & uniform logic needed by each possible type of the {Text,Icon}Size properties.
class SymbolSizeBinder {
public:
+ virtual ~SymbolSizeBinder() = default;
+
using Uniforms = gl::Uniforms<
uniforms::u_is_size_zoom_constant,
uniforms::u_is_size_feature_constant,
@@ -129,7 +131,7 @@ Range<float> getCoveringStops(Stops s, float lowerZoom, float upperZoom) {
};
}
-class ConstantSymbolSizeBinder : public SymbolSizeBinder {
+class ConstantSymbolSizeBinder final : public SymbolSizeBinder {
public:
using PropertyValue = variant<float, style::CameraFunction<float>>;
@@ -198,7 +200,7 @@ public:
optional<style::CameraFunction<float>> function;
};
-class SourceFunctionSymbolSizeBinder : public SymbolSizeBinder {
+class SourceFunctionSymbolSizeBinder final : public SymbolSizeBinder {
public:
using Vertex = gl::detail::Vertex<gl::Attribute<uint16_t, 1>>;
using VertexVector = gl::VertexVector<Vertex>;
@@ -251,7 +253,7 @@ public:
optional<VertexBuffer> buffer;
};
-class CompositeFunctionSymbolSizeBinder: public SymbolSizeBinder {
+class CompositeFunctionSymbolSizeBinder final : public SymbolSizeBinder {
public:
using Vertex = SymbolSizeAttributes::Vertex;
using VertexVector = gl::VertexVector<Vertex>;
diff --git a/src/mbgl/sprite/sprite_atlas.hpp b/src/mbgl/sprite/sprite_atlas.hpp
index f1681608d1..832922df5a 100644
--- a/src/mbgl/sprite/sprite_atlas.hpp
+++ b/src/mbgl/sprite/sprite_atlas.hpp
@@ -36,6 +36,7 @@ using IconDependencies = std::set<std::string>;
class IconRequestor {
public:
+ virtual ~IconRequestor() = default;
virtual void onIconsAvailable(IconMap) = 0;
};
diff --git a/src/mbgl/text/glyph_atlas.hpp b/src/mbgl/text/glyph_atlas.hpp
index 8a672afe6e..cd6f57d57f 100644
--- a/src/mbgl/text/glyph_atlas.hpp
+++ b/src/mbgl/text/glyph_atlas.hpp
@@ -29,6 +29,7 @@ class Context;
class GlyphRequestor {
public:
+ virtual ~GlyphRequestor() = default;
virtual void onGlyphsAvailable(GlyphPositionMap) = 0;
};