summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorKonstantin Käfer <mail@kkaefer.com>2014-10-29 16:09:42 -0400
committerKonstantin Käfer <mail@kkaefer.com>2014-10-30 11:58:16 -0400
commit7a13db9a863c9be58709e941f44eb2c370276e2a (patch)
treeb8c4b22c88cedd13bf0078ce04ec47f9f720947a /src
parent414ccaaf93fff1096086cd5c11acccc5cf5da7c3 (diff)
downloadqtlocation-mapboxgl-7a13db9a863c9be58709e941f44eb2c370276e2a.tar.gz
do not crash for missing images
Diffstat (limited to 'src')
-rw-r--r--src/geometry/sprite_atlas.cpp1
-rw-r--r--src/map/sprite.cpp3
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;
}