summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKonstantin Käfer <mail@kkaefer.com>2015-07-02 13:28:54 +0200
committerKonstantin Käfer <mail@kkaefer.com>2015-07-08 19:46:01 +0200
commit6271f8e5466e979806415a74581fdd293930950e (patch)
tree694556d0c90003d8e5bdb0a42427f6f84d288a1e
parentbc41d3cf6d0b5c635f856d95acd0d4941802f51f (diff)
downloadqtlocation-mapboxgl-6271f8e5466e979806415a74581fdd293930950e.tar.gz
mark Image constructor as explicit to avoid accidental implicit argument conversion
when passing a std::string instead of an Image, the parameter gets implicitly and automatically converted (== parsed) to a temporary Image object. Since parsing an Image shouldn't be a frequent operation
-rw-r--r--include/mbgl/util/image.hpp2
-rw-r--r--src/mbgl/annotation/sprite_parser.cpp2
-rw-r--r--test/annotations/sprite_parser.cpp8
3 files changed, 6 insertions, 6 deletions
diff --git a/include/mbgl/util/image.hpp b/include/mbgl/util/image.hpp
index 91a451890f..f58c2c0989 100644
--- a/include/mbgl/util/image.hpp
+++ b/include/mbgl/util/image.hpp
@@ -12,7 +12,7 @@ std::string compress_png(int width, int height, const void *rgba);
class Image {
public:
- Image(const std::string &img);
+ explicit Image(const std::string &img);
inline const char *getData() const { return img.get(); }
inline uint32_t getWidth() const { return width; }
diff --git a/src/mbgl/annotation/sprite_parser.cpp b/src/mbgl/annotation/sprite_parser.cpp
index c5c731d517..0f9ba97c98 100644
--- a/src/mbgl/annotation/sprite_parser.cpp
+++ b/src/mbgl/annotation/sprite_parser.cpp
@@ -134,7 +134,7 @@ Sprites parseSprite(const std::string& image, const std::string& json) {
const double pixelRatio = getDouble(value, "pixelRatio", 1);
const bool sdf = getBoolean(value, "sdf", false);
- auto sprite = createSpriteImage(image, x, y, width, height, pixelRatio, sdf);
+ auto sprite = createSpriteImage(raster, x, y, width, height, pixelRatio, sdf);
if (sprite) {
sprites.emplace(name, sprite);
}
diff --git a/test/annotations/sprite_parser.cpp b/test/annotations/sprite_parser.cpp
index e9c46576f5..17193273ea 100644
--- a/test/annotations/sprite_parser.cpp
+++ b/test/annotations/sprite_parser.cpp
@@ -29,7 +29,7 @@ using namespace mbgl;
TEST(Annotations, SpriteImageCreationInvalid) {
FixtureLog log;
- const util::Image image_1x = { util::read_file("test/fixtures/annotations/emerald.png") };
+ const util::Image image_1x(util::read_file("test/fixtures/annotations/emerald.png"));
ASSERT_TRUE(image_1x);
ASSERT_EQ(200u, image_1x.getWidth());
ASSERT_EQ(299u, image_1x.getHeight());
@@ -50,7 +50,7 @@ TEST(Annotations, SpriteImageCreationInvalid) {
}
TEST(Annotations, SpriteImageCreation1x) {
- const util::Image image_1x = { util::read_file("test/fixtures/annotations/emerald.png") };
+ const util::Image image_1x(util::read_file("test/fixtures/annotations/emerald.png"));
ASSERT_TRUE(image_1x);
ASSERT_EQ(200u, image_1x.getWidth());
ASSERT_EQ(299u, image_1x.getHeight());
@@ -90,7 +90,7 @@ TEST(Annotations, SpriteImageCreation1x) {
}
TEST(Annotations, SpriteImageCreation2x) {
- const util::Image image_2x = { util::read_file("test/fixtures/annotations/emerald@2x.png") };
+ const util::Image image_2x(util::read_file("test/fixtures/annotations/emerald@2x.png"));
ASSERT_TRUE(image_2x);
// "museum_icon":{"x":354,"y":374,"width":36,"height":36,"pixelRatio":2,"sdf":false}
@@ -105,7 +105,7 @@ TEST(Annotations, SpriteImageCreation2x) {
}
TEST(Annotations, SpriteImageCreation1_5x) {
- const util::Image image_2x = { util::read_file("test/fixtures/annotations/emerald@2x.png") };
+ const util::Image image_2x(util::read_file("test/fixtures/annotations/emerald@2x.png"));
ASSERT_TRUE(image_2x);
// "museum_icon":{"x":354,"y":374,"width":36,"height":36,"pixelRatio":2,"sdf":false}