anchor.diff:  
       if FDateTime < FMinDate then
         FDateTime := ComposeDateTime(FMinDate, FDateTime);
  +  end;
  +
  +  if not InRecursiveCall then begin // we'll skip the next part in
  +         // recursive calls which could be made through Change or UndoChanges
  +    InRecursiveCall := True;
  +    try
  +      if FUserChanging > 0 then begin // this means that the change is caused by user interaction
  +        try
  +          Change;
  +        except
  +          UndoChanges;
  +          raise;
  +        end
  +      end else
  +        FConfirmedDateTime := FDateTime;
  +    finally
  +      InRecursiveCall := False;
  +    end;
     end;
   
     if FKind in [dtkTime, dtkDateTime] then begin
  
positive.code: end;
  
  procedure TCustomZVDateTimePicker.UpdateDate;
  var
    W: Array[1..3] of Word;
    WT: Array[TTimeTextPart] of Word;
    YearPos, I: Integer;
    TTP, TTPEnd: TTimeTextPart;
  begin
    FUserChangedText := False;
  
  
negative.code: 
  procedure TDTCalendarForm.CloseCalendarForm(const AndSetTheDate: Boolean);
  begin
    if not FClosing then
      try
        SetClosingCalendarForm;
        Visible := False;
  
        if Assigned(DTPicker) and DTPicker.IsVisible then begin
  
          if AndSetTheDate then begin
            Inc(DTPicker.FUserChanging);
            try
              if DTPicker.DateIsNull then begin
                // we'll set the time to 0.0 (midnight):
                DTPicker.SetDateTime(Int(Cal.DateTime));
              end else if not EqualDateTime(Int(DTPicker.DateTime),
                                            Int(Cal.DateTime)) then begin
                // we'll change the date, but keep the time:
                DTPicker.SetDateTime(ComposeDateTime(Cal.DateTime, DTPicker.DateTime));
              end;
            finally
              Dec(DTPicker.FUserChanging);
            end;
          end;
  
          if Screen.ActiveCustomForm = Self then
            DTPicker.SetFocusIfPossible;
  
          DTPicker.DoCloseUp;
        end;
  
      finally
        Release;
      end;
  
  end;
  
  