Olá,
Tive esse mesmo problema mesmo baixando os fontes de https://github.com/infussolucoes/usercontrol-sd no começo desse ano (2019).
Resolvi o problema modificando a unit UserPermis_U
adicionando os eventos TreeMenuExpanding e TreeMenuCollapsing, no componente TreeMenu, com a seguinte linha: FChangingTree := true;
Essa alteração evita que no evento abaixo (disparado pelo OnClick do TreeMenu) marque ou desmarque ao expandir ou contrair os items.
procedure TUserPermis.ClickTreeView(Sender: TObject; Event: TTreeViewEvent);
var
Node: TTreeNode;
begin
if not FChangingTree then
begin
Node := GetNode(TTreeView(Sender));
if ((Node <> nil) and (Node = TTreeView(Sender).Selected)) then
Event(True);
end;
end;
Abraços,
Luciano RM