summaryrefslogtreecommitdiff
path: root/src/mbgl/renderer/layers/render_fill_layer.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/mbgl/renderer/layers/render_fill_layer.cpp')
-rw-r--r--src/mbgl/renderer/layers/render_fill_layer.cpp14
1 files changed, 10 insertions, 4 deletions
diff --git a/src/mbgl/renderer/layers/render_fill_layer.cpp b/src/mbgl/renderer/layers/render_fill_layer.cpp
index c59ca6f906..cce4399262 100644
--- a/src/mbgl/renderer/layers/render_fill_layer.cpp
+++ b/src/mbgl/renderer/layers/render_fill_layer.cpp
@@ -61,8 +61,11 @@ bool RenderFillLayer::hasTransition() const {
void RenderFillLayer::render(PaintParameters& parameters, RenderSource*) {
if (evaluated.get<FillPattern>().from.empty()) {
for (const RenderTile& tile : renderTiles) {
- assert(dynamic_cast<FillBucket*>(tile.tile.getBucket(*baseImpl)));
- FillBucket& bucket = *reinterpret_cast<FillBucket*>(tile.tile.getBucket(*baseImpl));
+ auto bucket_ = dynamic_cast<FillBucket*>(tile.tile.getBucket(*baseImpl));
+ if (!bucket_) {
+ continue;
+ }
+ FillBucket& bucket = *bucket_;
auto draw = [&] (auto& program,
const auto& drawMode,
@@ -146,8 +149,11 @@ void RenderFillLayer::render(PaintParameters& parameters, RenderSource*) {
parameters.imageManager.bind(parameters.context, 0);
for (const RenderTile& tile : renderTiles) {
- assert(dynamic_cast<FillBucket*>(tile.tile.getBucket(*baseImpl)));
- FillBucket& bucket = *reinterpret_cast<FillBucket*>(tile.tile.getBucket(*baseImpl));
+ auto bucket_ = dynamic_cast<FillBucket*>(tile.tile.getBucket(*baseImpl));
+ if (!bucket_) {
+ continue;
+ }
+ FillBucket& bucket = *bucket_;
auto draw = [&] (auto& program,
const auto& drawMode,