anchor.diff:      Exit;
   
     // Do not do anything else, in case Cell we are working on is Disabled
  -  if not Rows[fMouseOverCell.Y].Cells[fMouseOverCell.X].Enabled then
  +  if (fMouseOverCell = KMPOINT_INVALID_TILE)
  +    or not Rows[fMouseOverCell.Y].Cells[fMouseOverCell.X].Enabled then
       Exit;
   
     NewIndex := fMouseOverRow;
  
positive.code:     ItemIndex := NewIndex;
      if not KMSamePoint(fMouseOverCell, KMPOINT_INVALID_TILE)
        and Columns[fMouseOverCell.X].TriggerOnChange
        and Rows[fMouseOverCell.Y].Cells[fMouseOverCell.X].Enabled
        and Assigned(fOnChange) then
      begin
        fOnChange(Self);
  
negative.code:     inherited DoClick(X, Y, Shift, Button);
      if Assigned(fOnChange)
        and not fOnChangeInvoked
        and (fMouseOverCell <> KMPOINT_INVALID_TILE) //Only trigger ovew cells
        and Rows[fMouseOverCell.Y].Cells[fMouseOverCell.X].Enabled then // Only trigger for enabled cells
        fOnChange(Self);
    end;
  