diff options
Diffstat (limited to 'src/mbgl')
-rw-r--r-- | src/mbgl/renderer/image_manager.cpp | 9 | ||||
-rw-r--r-- | src/mbgl/renderer/image_manager.hpp | 1 |
2 files changed, 9 insertions, 1 deletions
diff --git a/src/mbgl/renderer/image_manager.cpp b/src/mbgl/renderer/image_manager.cpp index ff4c20eefb..3c22cdcf32 100644 --- a/src/mbgl/renderer/image_manager.cpp +++ b/src/mbgl/renderer/image_manager.cpp @@ -84,9 +84,16 @@ void ImageManager::removeImage(const std::string& id) { } const style::Image::Impl* ImageManager::getImage(const std::string& id) const { + if (auto* image = getSharedImage(id)) { + return image->get(); + } + return nullptr; +} + +const Immutable<style::Image::Impl>* ImageManager::getSharedImage(const std::string& id) const { const auto it = images.find(id); if (it != images.end()) { - return it->second.get(); + return &(it->second); } return nullptr; } diff --git a/src/mbgl/renderer/image_manager.hpp b/src/mbgl/renderer/image_manager.hpp index 5305358513..9097418681 100644 --- a/src/mbgl/renderer/image_manager.hpp +++ b/src/mbgl/renderer/image_manager.hpp @@ -36,6 +36,7 @@ public: void dumpDebugLogs() const; const style::Image::Impl* getImage(const std::string&) const; + const Immutable<style::Image::Impl>* getSharedImage(const std::string&) const; void addImage(Immutable<style::Image::Impl>); bool updateImage(Immutable<style::Image::Impl>); |