diff options
author | Mikhail Pozdnyakov <mikhail.pozdnyakov@mapbox.com> | 2019-08-16 16:34:07 +0300 |
---|---|---|
committer | Mikhail Pozdnyakov <mikhail.pozdnyakov@mapbox.com> | 2019-08-16 18:33:30 +0300 |
commit | c7169e6f8db6436444858f07045edaba693b9223 (patch) | |
tree | 8faf0441b9ef392dbc332095e043ac7066fbcbac /src/mbgl/renderer/layers/render_fill_layer.cpp | |
parent | 5de27d5200e2edb23d0a23acb917a8cff0bbc4e4 (diff) | |
download | qtlocation-mapboxgl-c7169e6f8db6436444858f07045edaba693b9223.tar.gz |
[core] Fix layer impl cast in render layer implementations
This PR puts `impl()` functions definitions into a nameless namespace
to provide internal linkage and to make sure that appropriate cast function
is invoked.
Diffstat (limited to 'src/mbgl/renderer/layers/render_fill_layer.cpp')
-rw-r--r-- | src/mbgl/renderer/layers/render_fill_layer.cpp | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/src/mbgl/renderer/layers/render_fill_layer.cpp b/src/mbgl/renderer/layers/render_fill_layer.cpp index 6a134a398a..27cb76fede 100644 --- a/src/mbgl/renderer/layers/render_fill_layer.cpp +++ b/src/mbgl/renderer/layers/render_fill_layer.cpp @@ -21,10 +21,15 @@ namespace mbgl { using namespace style; +namespace { + inline const FillLayer::Impl& impl(const Immutable<style::Layer::Impl>& impl) { + assert(impl->getTypeInfo() == FillLayer::Impl::staticTypeInfo()); return static_cast<const FillLayer::Impl&>(*impl); } +} // namespace + RenderFillLayer::RenderFillLayer(Immutable<style::FillLayer::Impl> _impl) : RenderLayer(makeMutable<FillLayerProperties>(std::move(_impl))), unevaluated(impl(baseImpl).paint.untransitioned()) { |