LCL: Change a counter to boolean FTextChangedLock, used for firing events right. Issue #32630.

git-svn-id: trunk@56489 -
This commit is contained in:
juha 2017-11-24 20:44:02 +00:00
parent 3f7ccb5d63
commit c4f8616371
2 changed files with 5 additions and 5 deletions

View File

@ -82,7 +82,7 @@ begin
FAutoSelect := True; FAutoSelect := True;
FAutoSelected := False; FAutoSelected := False;
FTextChangedByRealSetText := False; FTextChangedByRealSetText := False;
FTextChangingCounter := 0; FTextChangedLock := False;
AutoSize := True; AutoSize := True;
// Accessibility // Accessibility
AccessibleRole := larTextEditorSingleline; AccessibleRole := larTextEditorSingleline;
@ -578,7 +578,7 @@ var
SStart, SLen: Integer; SStart, SLen: Integer;
begin begin
//debugln('TCustomEdit.TextChanged ',DbgSName(Self)); //debugln('TCustomEdit.TextChanged ',DbgSName(Self));
if FTextChangingCounter > 0 then if FTextChangedLock then
Exit; Exit;
if FCharCase in [ecUppercase, ecLowercase] then if FCharCase in [ecUppercase, ecLowercase] then
begin begin
@ -594,11 +594,11 @@ begin
CPos := CaretPos; CPos := CaretPos;
SStart := SelStart; SStart := SelStart;
SLen := SelLength; SLen := SelLength;
Inc(FTextChangingCounter); FTextChangedLock := True;
try try
Text := Temp; Text := Temp;
finally finally
Dec(FTextChangingCounter); FTextChangedLock := False;
end; end;
SelStart := SStart; SelStart := SStart;
SelLength := SLen; SelLength := SLen;

View File

@ -730,7 +730,7 @@ type
FSelLength: integer; FSelLength: integer;
FSelStart: integer; FSelStart: integer;
FTextChangedByRealSetText: Boolean; FTextChangedByRealSetText: Boolean;
FTextChangingCounter: integer; FTextChangedLock: Boolean;
FTextHint: TTranslateString; FTextHint: TTranslateString;
procedure ShowEmulatedTextHint(const ForceShow: Boolean = False); procedure ShowEmulatedTextHint(const ForceShow: Boolean = False);
procedure HideEmulatedTextHint; procedure HideEmulatedTextHint;