diff options
author | Konstantin Käfer <mail@kkaefer.com> | 2014-10-29 16:09:42 -0400 |
---|---|---|
committer | Konstantin Käfer <mail@kkaefer.com> | 2014-10-30 11:58:16 -0400 |
commit | 7a13db9a863c9be58709e941f44eb2c370276e2a (patch) | |
tree | b8c4b22c88cedd13bf0078ce04ec47f9f720947a /src | |
parent | 414ccaaf93fff1096086cd5c11acccc5cf5da7c3 (diff) | |
download | qtlocation-mapboxgl-7a13db9a863c9be58709e941f44eb2c370276e2a.tar.gz |
do not crash for missing images
Diffstat (limited to 'src')
-rw-r--r-- | src/geometry/sprite_atlas.cpp | 1 | ||||
-rw-r--r-- | src/map/sprite.cpp | 3 |
2 files changed, 4 insertions, 0 deletions
diff --git a/src/geometry/sprite_atlas.cpp b/src/geometry/sprite_atlas.cpp index 5271122919..e5bad1eada 100644 --- a/src/geometry/sprite_atlas.cpp +++ b/src/geometry/sprite_atlas.cpp @@ -158,6 +158,7 @@ void SpriteAtlas::allocate() { void SpriteAtlas::copy(const Rect<dimension>& dst, const SpritePosition& src) { if (!sprite->raster) return; const uint32_t *src_img = reinterpret_cast<const uint32_t *>(sprite->raster->getData()); + if (!src_img) return; allocate(); uint32_t *dst_img = reinterpret_cast<uint32_t *>(data); diff --git a/src/map/sprite.cpp b/src/map/sprite.cpp index 876586e4b0..ad1a8e770b 100644 --- a/src/map/sprite.cpp +++ b/src/map/sprite.cpp @@ -102,6 +102,9 @@ bool Sprite::isLoaded() const { void Sprite::parseImage() { raster = std::make_unique<util::Image>(image); + if (!*raster) { + raster.reset(); + } image.clear(); loadedImage = true; } |