Issue with HotmailRowSelect and ClearRowSelect

Windows 10 x64
TMS Component Pack
Delphi Berlin 10.1 update 1

There seems to be an issue with HotmailRowSelect and ClearRowSelect / UncheckAll(x)

Create an empty project with a grid (HotmailRowSelec true) and a button with the following code:
AdvStringGrid1.Row := 1;

Run the project and press the button once: Row 1 will be checked and selected.
Press the button again: Nothing will be checked or selected
Spam the button and the row will never be checked / selected again. I would expect the first row to always end up checked/selected by doing this.

* Same thing will happen if you replace ClearRowSelect with UnCheckAll(0)

When you set grid.Row to a new value, this row becomes selected and checked. The issue seems to happen when you clear the selection and set a row to the already "active" row.

I can get around the issue by changing the button's code to:
AdvStringGrid1.Row := 1;
AdvStringGrid1.SelectRows(AdvStringGrid1.Row, 1);

Is this something you can fix?


The correct way to programmatically preselect a row is:

 AdvStringGrid1.RowSelect[1] := true;