diff --git a/src/mbgl/map/sprite.cpp b/src/mbgl/map/sprite.cpp index e1ce23b2e..900b2efa4 100644 --- a/src/mbgl/map/sprite.cpp +++ b/src/mbgl/map/sprite.cpp @@ -86,9 +86,10 @@ Sprite::~Sprite() { void Sprite::emitSpriteLoadedIfComplete() { assert(loader); if (loader->loadedImage && loader->loadedJSON && observer) { - observer->onSpriteDataLoaded(std::move(loader->data)); + std::unique_ptr data(std::move(loader->data)); loader.reset(); - observer->onSpriteLoaded(); + + observer->onSpriteLoaded(std::move(data)); } } diff --git a/src/mbgl/map/sprite.hpp b/src/mbgl/map/sprite.hpp index 4f69a5363..d8f91fd9c 100644 --- a/src/mbgl/map/sprite.hpp +++ b/src/mbgl/map/sprite.hpp @@ -27,8 +27,7 @@ public: public: virtual ~Observer() = default; - virtual void onSpriteDataLoaded(std::unique_ptr) = 0; - virtual void onSpriteLoaded() = 0; + virtual void onSpriteLoaded(std::unique_ptr) = 0; virtual void onSpriteLoadingFailed(std::exception_ptr error) = 0; }; diff --git a/src/mbgl/style/style.cpp b/src/mbgl/style/style.cpp index 7f8f821d1..48106d8f3 100644 --- a/src/mbgl/style/style.cpp +++ b/src/mbgl/style/style.cpp @@ -191,14 +191,11 @@ void Style::onTileLoadingFailed(std::exception_ptr error) { emitResourceLoadingFailed(error); } -void Style::onSpriteDataLoaded(std::unique_ptr spriteData) { +void Style::onSpriteLoaded(std::unique_ptr spriteData) { // Add all sprite images to the SpriteStore object spriteStore->setSprites(parseSprite(spriteData->image, spriteData->json)); -} -void Style::onSpriteLoaded() { shouldReparsePartialTiles = true; - emitTileDataChanged(); } diff --git a/src/mbgl/style/style.hpp b/src/mbgl/style/style.hpp index e7611ced3..359ab4d83 100644 --- a/src/mbgl/style/style.hpp +++ b/src/mbgl/style/style.hpp @@ -89,8 +89,7 @@ private: void onTileLoadingFailed(std::exception_ptr error) override; // Sprite::Observer implementation. - void onSpriteDataLoaded(std::unique_ptr) override; - void onSpriteLoaded() override; + void onSpriteLoaded(std::unique_ptr) override; void onSpriteLoadingFailed(std::exception_ptr error) override; void emitTileDataChanged();