diff options
Diffstat (limited to 'src/mbgl/renderer/sources/render_image_source.cpp')
-rw-r--r-- | src/mbgl/renderer/sources/render_image_source.cpp | 13 |
1 files changed, 7 insertions, 6 deletions
diff --git a/src/mbgl/renderer/sources/render_image_source.cpp b/src/mbgl/renderer/sources/render_image_source.cpp index 7fb7caa580..f5068b9d7f 100644 --- a/src/mbgl/renderer/sources/render_image_source.cpp +++ b/src/mbgl/renderer/sources/render_image_source.cpp @@ -135,12 +135,13 @@ void RenderImageSource::update(Immutable<style::Source::Impl> baseImpl_, geomCoords.push_back(gc); } - if (!bucket) { - UnassociatedImage img = impl().getImage().clone(); - if (!img.valid()) { - return; - } - bucket = std::make_unique<RasterBucket>(std::move(img)); + const UnassociatedImage& image = impl().getImage(); + if (!image.valid()) { + return; + } + + if (!bucket || image != bucket->image) { + bucket = std::make_unique<RasterBucket>(image.clone()); } else { bucket->clear(); } |