anchor.diff:  
   procedure TCustomVisualGrid.GridSelection(Sender: TObject; aCol, aRow: Integer);
   begin
  -  if (SelectionType <> stNone) and Assigned(FOnSelection) then
  +  if (FCurrentSelectionType <> stNone) and Assigned(FOnSelection) and (not FIgnoreSelectionEvent) then
       FOnSelection(Self, Selection);
   end;
   
  
positive.code: procedure TCustomVisualGrid.SetOptions(AValue: TVisualGridOptions);
  var
    LSortDirectionAllowNone: boolean;
  
  begin
    if FOptions=AValue then Exit;
    LSortDirectionAllowNone := vgoSortDirectionAllowNone in FOptions;
  
    FOptions:=AValue;
    if vgoColSizing in FOptions then
  
negative.code:   // refresh for sort direction graphic
    if LSortDirectionAllowNone <> (vgoSortDirectionAllowNone in AValue) then
      SortDirectionGlyphRefresh;
    // refresh selection
    if LRefreshSelection <> (vgoAllowDeselect in AValue) then
    begin
      ResetLastSelection;
      UpdateSelection(SelectionType);
    end;
  end;
  
  procedure TCustomVisualGrid.SetRows(ARow: Integer; AValue: Variant);
  