From cedda5ef4f73fccfc795e6bc48b368e48f11ad8d Mon Sep 17 00:00:00 2001 From: John Firebaugh Date: Wed, 10 Jan 2018 11:48:06 -0800 Subject: [core] Handle NaN input to interpolate and step --- include/mbgl/style/expression/interpolate.hpp | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) (limited to 'include/mbgl') diff --git a/include/mbgl/style/expression/interpolate.hpp b/include/mbgl/style/expression/interpolate.hpp index 439122f91c..fd9ec25a2c 100644 --- a/include/mbgl/style/expression/interpolate.hpp +++ b/include/mbgl/style/expression/interpolate.hpp @@ -11,7 +11,7 @@ #include #include - +#include namespace mbgl { namespace style { @@ -109,9 +109,15 @@ public: EvaluationResult evaluate(const EvaluationContext& params) const override { const EvaluationResult evaluatedInput = input->evaluate(params); - if (!evaluatedInput) { return evaluatedInput.error(); } + if (!evaluatedInput) { + return evaluatedInput.error(); + } + float x = *fromExpressionValue(*evaluatedInput); - + if (std::isnan(x)) { + return EvaluationError { "Input is not a number." }; + } + if (stops.empty()) { return EvaluationError { "No stops in exponential curve." }; } -- cgit v1.2.1