summaryrefslogtreecommitdiff
path: root/src/mbgl/renderer/sources/render_image_source.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/mbgl/renderer/sources/render_image_source.cpp')
-rw-r--r--src/mbgl/renderer/sources/render_image_source.cpp13
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();
}