TreeFilterEdit: Improve TTreeFilterBranch.RemoveChildrenData logic. Issue #25259, patch from Cyrax

git-svn-id: trunk@43344 -
This commit is contained in:
juha 2013-10-30 22:55:22 +00:00
parent 75b3da80b2
commit 95fe4e6ff1

View File

@ -347,17 +347,21 @@ Begin
end;
procedure TTreeFilterBranch.RemoveChildrenData(ARootNode : TTreeNode);
Var
ANode : TTreeNode;
Begin
ANode := NIL;
FreeNodeData(ARootNode);
If Assigned(ARootNode) Then
ANode := ARootNode.GetFirstChild;
While Assigned(ANode) Do Begin
procedure ProcessSubNodes(ANode : TTreeNode);
Var
BNode : TTreeNode;
begin
FreeNodeData(ANode);
ANode := ANode.GetNextSibling;
BNode := ANode.GetFirstChild;
While Assigned(BNode) Do Begin
ProcessSubNodes(BNode);
BNode := BNode.GetNextSibling;
end;
end;
Begin
ProcessSubNodes(ARootNode);
end;
procedure TTreeFilterBranch.Clear;