diff options
author | Ivo van Dongen <info@ivovandongen.nl> | 2017-03-31 18:07:45 +0300 |
---|---|---|
committer | Ivo van Dongen <ivovandongen@users.noreply.github.com> | 2017-04-04 18:31:11 +0300 |
commit | 705caf0f269af30f4aa72e314034f2225d7a9be1 (patch) | |
tree | 9a7ff560c939645ecfd28977367647f6e0854664 /src/mbgl/util/color.cpp | |
parent | 4a4b6a8af306691588602fbc6f3ed17c5f193355 (diff) | |
download | qtlocation-mapboxgl-705caf0f269af30f4aa72e314034f2225d7a9be1.tar.gz |
[core] return empty optional when color could not be parsed
Diffstat (limited to 'src/mbgl/util/color.cpp')
-rw-r--r-- | src/mbgl/util/color.cpp | 20 |
1 files changed, 12 insertions, 8 deletions
diff --git a/src/mbgl/util/color.cpp b/src/mbgl/util/color.cpp index d5751b405f..fcb7f4ec16 100644 --- a/src/mbgl/util/color.cpp +++ b/src/mbgl/util/color.cpp @@ -6,16 +6,20 @@ namespace mbgl { optional<Color> Color::parse(const std::string& s) { - CSSColorParser::Color css_color = CSSColorParser::parse(s); + auto css_color = CSSColorParser::parse(s); // Premultiply the color. - const float factor = css_color.a / 255; - return {{ - css_color.r * factor, - css_color.g * factor, - css_color.b * factor, - css_color.a - }}; + if (css_color) { + const float factor = css_color->a / 255; + return {{ + css_color->r * factor, + css_color->g * factor, + css_color->b * factor, + css_color->a + }}; + } else { + return {}; + } } std::string Color::stringify() const { |