summaryrefslogtreecommitdiff
path: root/src/mbgl/style/expression/find_zoom_curve.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/mbgl/style/expression/find_zoom_curve.cpp')
-rw-r--r--src/mbgl/style/expression/find_zoom_curve.cpp14
1 files changed, 9 insertions, 5 deletions
diff --git a/src/mbgl/style/expression/find_zoom_curve.cpp b/src/mbgl/style/expression/find_zoom_curve.cpp
index ce8487a3af..1e0a936605 100644
--- a/src/mbgl/style/expression/find_zoom_curve.cpp
+++ b/src/mbgl/style/expression/find_zoom_curve.cpp
@@ -2,6 +2,7 @@
#include <mbgl/style/expression/compound_expression.hpp>
#include <mbgl/style/expression/let.hpp>
#include <mbgl/style/expression/coalesce.hpp>
+#include <mbgl/style/expression/is_constant.hpp>
#include <mbgl/util/variant.hpp>
#include <mbgl/util/optional.hpp>
@@ -59,14 +60,17 @@ optional<variant<const Interpolate*, const Step*, ParsingError>> findZoomCurve(c
return result;
}
-variant<const Interpolate*, const Step*> findZoomCurveChecked(const expression::Expression* e) {
+variant<std::nullptr_t, const Interpolate*, const Step*> findZoomCurveChecked(const expression::Expression* e) {
+ if (isZoomConstant(*e)) {
+ return nullptr;
+ }
return findZoomCurve(e)->match(
- [](const ParsingError&) -> variant<const Interpolate*, const Step*> {
+ [](const ParsingError&) -> variant<std::nullptr_t, const Interpolate*, const Step*> {
assert(false);
- return {};
+ return nullptr;
},
- [](auto zoomCurve) -> variant<const Interpolate*, const Step*> {
- return {std::move(zoomCurve)};
+ [](auto zoomCurve) -> variant<std::nullptr_t, const Interpolate*, const Step*> {
+ return zoomCurve;
}
);
}