diff options
author | Thiago Marcos P. Santos <thiago@mapbox.com> | 2015-07-09 16:28:26 +0300 |
---|---|---|
committer | Thiago Marcos P. Santos <thiago@mapbox.com> | 2015-07-10 10:48:46 +0300 |
commit | b33d5d8a959508f50c35c515995eb65845fbd0ff (patch) | |
tree | 5f881c25d690037e557d0276fde6d89dd67531b9 /src | |
parent | 0ee9f21c56a69513ba2dce3108f5540afb045c6d (diff) | |
download | qtlocation-mapboxgl-b33d5d8a959508f50c35c515995eb65845fbd0ff.tar.gz |
Do not report isLoaded() if loading failed
Diffstat (limited to 'src')
-rw-r--r-- | src/mbgl/map/sprite.cpp | 2 | ||||
-rw-r--r-- | src/mbgl/map/sprite.hpp | 4 |
2 files changed, 5 insertions, 1 deletions
diff --git a/src/mbgl/map/sprite.cpp b/src/mbgl/map/sprite.cpp index 5f6190f582..84fbce6069 100644 --- a/src/mbgl/map/sprite.cpp +++ b/src/mbgl/map/sprite.cpp @@ -39,6 +39,7 @@ Sprite::Sprite(const std::string& baseUrl, float pixelRatio_) : pixelRatio(pixelRatio_ > 1 ? 2 : 1) { if (baseUrl.empty()) { // Treat a non-existent sprite as a successfully loaded empty sprite. + loaded = true; return; } @@ -95,6 +96,7 @@ void Sprite::emitSpriteLoadedIfComplete() { auto result = parseSprite(data->image, data->json); if (result.is<Sprites>()) { + loaded = true; observer->onSpriteLoaded(result.get<Sprites>()); } else { emitSpriteLoadingFailed(result.get<std::string>()); diff --git a/src/mbgl/map/sprite.hpp b/src/mbgl/map/sprite.hpp index b2020e7d64..32fa16de12 100644 --- a/src/mbgl/map/sprite.hpp +++ b/src/mbgl/map/sprite.hpp @@ -36,7 +36,7 @@ public: ~Sprite(); inline bool isLoaded() const { - return loader == nullptr; + return loaded; } const float pixelRatio; @@ -50,6 +50,8 @@ private: struct Loader; std::unique_ptr<Loader> loader; + bool loaded = false; + Observer* observer = nullptr; }; |