From 2a396aa1377784b2d5cb3e01adc47deef21ea41c Mon Sep 17 00:00:00 2001 From: zoran Date: Mon, 1 Jun 2020 22:05:39 +0000 Subject: [PATCH] DateTimePicker: Prevent calling change when user start editing and date was null and not yet updated to valid date git-svn-id: trunk@63264 - --- components/datetimectrls/datetimepicker.pas | 16 +++++++++++----- 1 file changed, 11 insertions(+), 5 deletions(-) diff --git a/components/datetimectrls/datetimepicker.pas b/components/datetimectrls/datetimepicker.pas index bb89606499..8874b82b87 100644 --- a/components/datetimectrls/datetimepicker.pas +++ b/components/datetimectrls/datetimepicker.pas @@ -3490,11 +3490,17 @@ begin Finished := True; if (not Finished) and (GetSelectedText <> S) then begin - if (not FUserChangedText) and DateIsNull then - if FSelectedTextPart <= 3 then - DateTime := SysUtils.Date - else - DateTime := SysUtils.Now; + if (not FUserChangedText) and DateIsNull then begin + Inc(FSkipChangeInUpdateDate); // do not call Change here + try + if FSelectedTextPart <= 3 then + DateTime := SysUtils.Date + else + DateTime := SysUtils.Now; + finally + Dec(FSkipChangeInUpdateDate); + end; + end; if (not FLeadingZeros) and (FSelectedTextPart <= 4) then while (Length(S) > 1) and (S[1] = '0') do