diff options
Diffstat (limited to 'src/GCodes/GCodeBuffer')
-rw-r--r-- | src/GCodes/GCodeBuffer/ExpressionParser.cpp | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/src/GCodes/GCodeBuffer/ExpressionParser.cpp b/src/GCodes/GCodeBuffer/ExpressionParser.cpp index 1a4402b1..d4008742 100644 --- a/src/GCodes/GCodeBuffer/ExpressionParser.cpp +++ b/src/GCodes/GCodeBuffer/ExpressionParser.cpp @@ -690,6 +690,16 @@ void ExpressionParser::BalanceTypes(ExpressionValue& val1, ExpressionValue& val2 ConvertToFloat(val2, evaluate); } + // Convert any port values to string + if (val1.GetType() == TypeCode::Port) + { + ConvertToString(val1, evaluate); + } + if (val2.GetType() == TypeCode::Port) + { + ConvertToString(val2, evaluate); + } + if ((val1.GetType() == val2.GetType()) || (val1.IsStringType() && val2.IsStringType())) // handle the common case first { // nothing to do |