diff options
| author | Jabier Arraiza Cenoz <jabier.arraiza@marker.es> | 2016-06-11 15:34:03 +0000 |
|---|---|---|
| committer | jabiertxof <info@marker.es> | 2016-06-11 15:34:03 +0000 |
| commit | d6b2e2cdeb563026cc9f4633e687a607b095da87 (patch) | |
| tree | b25e3e95e5e96782232e65d0d9889fcb12c2f285 /src/util/expression-evaluator.cpp | |
| parent | Fixing satellites bug on erase (diff) | |
| parent | A little cleaning up of attributes. (diff) | |
| download | inkscape-d6b2e2cdeb563026cc9f4633e687a607b095da87.tar.gz inkscape-d6b2e2cdeb563026cc9f4633e687a607b095da87.zip | |
update to trunk
(bzr r13645.1.147)
Diffstat (limited to 'src/util/expression-evaluator.cpp')
| -rw-r--r-- | src/util/expression-evaluator.cpp | 11 |
1 files changed, 8 insertions, 3 deletions
diff --git a/src/util/expression-evaluator.cpp b/src/util/expression-evaluator.cpp index 48064e647..dd7ce97f7 100644 --- a/src/util/expression-evaluator.cpp +++ b/src/util/expression-evaluator.cpp @@ -28,6 +28,8 @@ #include "util/expression-evaluator.h" #include "util/units.h" +#include <glib/gconvert.h> + #include <math.h> #include <string.h> @@ -49,7 +51,7 @@ EvaluatorToken::EvaluatorToken() } ExpressionEvaluator::ExpressionEvaluator(const char *string, Unit const *unit) : - string(string), + string(g_locale_to_utf8(string,-1,0,0,0)), unit(unit) { current_token.type = TOKEN_END; @@ -206,8 +208,11 @@ EvaluatorQuantity ExpressionEvaluator::evaluateFactor() { EvaluatorQuantity evaluated_factor = EvaluatorQuantity(); EvaluatorToken consumed_token = EvaluatorToken(); - - if (acceptToken(TOKEN_NUM, &consumed_token)) { + + if (acceptToken(TOKEN_END, &consumed_token)) { + return evaluated_factor; + } + else if (acceptToken(TOKEN_NUM, &consumed_token)) { evaluated_factor.value = consumed_token.value.fl; } else if (acceptToken('(', NULL)) { evaluated_factor = evaluateExpression(); |
