summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorThiago Marcos P. Santos <thiago@mapbox.com>2015-07-09 16:28:26 +0300
committerThiago Marcos P. Santos <thiago@mapbox.com>2015-07-10 10:48:46 +0300
commitb33d5d8a959508f50c35c515995eb65845fbd0ff (patch)
tree5f881c25d690037e557d0276fde6d89dd67531b9 /src
parent0ee9f21c56a69513ba2dce3108f5540afb045c6d (diff)
downloadqtlocation-mapboxgl-b33d5d8a959508f50c35c515995eb65845fbd0ff.tar.gz
Do not report isLoaded() if loading failed
Diffstat (limited to 'src')
-rw-r--r--src/mbgl/map/sprite.cpp2
-rw-r--r--src/mbgl/map/sprite.hpp4
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;
};