anchor.diff:  end;
   
   
  -procedure TKMRadioGroup.SetItemEnabled(aIndex: Integer; aEnabled: Boolean);
  +function TKMRadioGroup.GetIsSelected: Boolean;
  +begin
  +  Result := fItemIndex <> -1;
  +end;
  +
  +
  +procedure TKMRadioGroup.SetItemEnabled(aIndex: Integer; aEnabled: Boolean; aUncheckDisabled: Boolean = True);
   begin
     Assert(aIndex < fCount, 'Can''t SetItemEnabled for index ' + IntToStr(aIndex));
     fItems[aIndex].Enabled := aEnabled;
  +
  +  // Reset item index, if this item was selected
  +  if aUncheckDisabled and not aEnabled and (fItemIndex = aIndex) then
  +    fItemIndex := -1;
   end;
   
   
  
positive.code: end;
  
  
  function TKMDropList.IsSelected: Boolean;
  begin
    Result := fList.ItemIndex <> -1;
  
negative.code:     procedure Add(const aText, aHint: String; aEnabled: Boolean = True); overload;
      procedure Clear;
      property Count: Integer read fCount;
      property IsSelected: Boolean read GetIsSelected;
      property VisibleCount: Integer read GetVisibleCount;
      property ItemIndex: Integer read fItemIndex write fItemIndex;
      property OnChange: TNotifyEvent read fOnChange write fOnChange;
      property Item[aIndex: Integer]: TKMRadioGroupItem read GetItem;
      procedure SetItemEnabled(aIndex: Integer; aEnabled: Boolean; aUncheckDisabled: Boolean = True);
      procedure SetItemVisible(aIndex: Integer; aEnabled: Boolean);
      procedure CheckFirstCheckable;
      property LineHeight: Single read GetLineHeight;
      procedure MouseUp(X,Y: Integer; Shift: TShiftState; Button: TMouseButton); override;
      procedure MouseMove(X,Y: Integer; Shift: TShiftState); override;
  