From cda418198f17df87962e1797e024714eaceadcd7 Mon Sep 17 00:00:00 2001 From: Bruno de Oliveira Abinader Date: Wed, 13 Sep 2017 11:07:38 -0400 Subject: [core] Clear atlasImage rect for a removed pattern --- src/mbgl/renderer/image_manager.cpp | 7 +++++++ 1 file changed, 7 insertions(+) (limited to 'src/mbgl/renderer/image_manager.cpp') diff --git a/src/mbgl/renderer/image_manager.cpp b/src/mbgl/renderer/image_manager.cpp index 365a2742de..2ef6be0c4f 100644 --- a/src/mbgl/renderer/image_manager.cpp +++ b/src/mbgl/renderer/image_manager.cpp @@ -39,6 +39,13 @@ void ImageManager::removeImage(const std::string& id) { auto it = patterns.find(id); if (it != patterns.end()) { + // Clear pattern from the atlas image. + const uint32_t x = it->second.bin->x; + const uint32_t y = it->second.bin->y; + const uint32_t w = it->second.bin->w; + const uint32_t h = it->second.bin->h; + PremultipliedImage::clear(atlasImage, { x, y }, { w, h }); + shelfPack.unref(*it->second.bin); patterns.erase(it); } -- cgit v1.2.1