From d310b3b9f2c76a48eaac1068801afbc2c4533951 Mon Sep 17 00:00:00 2001 From: wp_xxyyzz Date: Sun, 21 Jul 2019 09:42:19 +0000 Subject: [PATCH] fpspreadsheet: Fix expression parser crashing in GUI with comma as decimal separator. git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@7065 8e941d3f-bd1b-0410-a28a-d453659cc2b4 --- components/fpspreadsheet/source/common/fpsexprparser.pas | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/components/fpspreadsheet/source/common/fpsexprparser.pas b/components/fpspreadsheet/source/common/fpsexprparser.pas index 9249b1ecf..a2b5b489a 100644 --- a/components/fpspreadsheet/source/common/fpsexprparser.pas +++ b/components/fpspreadsheet/source/common/fpsexprparser.pas @@ -1197,7 +1197,7 @@ var begin C := CurrentChar; prevC := #0; - while (not IsWordDelim(C) or (prevC = 'E')) and (C <> cNull) do + while (not IsWordDelim(C) or (prevC = 'E') or (C = FParser.FFormatSettings.DecimalSeparator)) and (C <> cNull) do begin if not ( IsDigit(C) or ((FToken <> '') and (Upcase(C) = 'E')) @@ -2054,7 +2054,6 @@ begin exit; FFormatSettings := AFormatSettings; UpdateExprFormatSettings; -// ExprFormatSettings := AFormatSettings; FExpression := AValue; if (AValue <> '') and (AValue[1] = '=') then FScanner.Source := Copy(AValue, 2, Length(AValue))