mirror of
https://gitlab.com/freepascal.org/lazarus/lazarus.git
synced 2025-08-14 00:09:17 +02:00
avglvltree: fix DisposeNode for nil Node. Issue #32189
git-svn-id: trunk@55561 -
This commit is contained in:
parent
818462b741
commit
11c15e3bf0
@ -401,7 +401,7 @@ end;
|
|||||||
|
|
||||||
procedure TAvgLvlTree.DisposeNode(aNode: TAVLTreeNode);
|
procedure TAvgLvlTree.DisposeNode(aNode: TAVLTreeNode);
|
||||||
begin
|
begin
|
||||||
if FOwnsObjects then
|
if FOwnsObjects and Assigned(aNode) then
|
||||||
begin
|
begin
|
||||||
TObject(aNode.Data).Free;
|
TObject(aNode.Data).Free;
|
||||||
aNode.Data := nil;
|
aNode.Data := nil;
|
||||||
|
@ -624,16 +624,15 @@ procedure TAVLTree.Clear;
|
|||||||
|
|
||||||
procedure DeleteNode(ANode: TAVLTreeNode);
|
procedure DeleteNode(ANode: TAVLTreeNode);
|
||||||
begin
|
begin
|
||||||
if ANode<>nil then begin
|
if ANode.Left<>nil then DeleteNode(ANode.Left);
|
||||||
if ANode.Left<>nil then DeleteNode(ANode.Left);
|
if ANode.Right<>nil then DeleteNode(ANode.Right);
|
||||||
if ANode.Right<>nil then DeleteNode(ANode.Right);
|
|
||||||
end;
|
|
||||||
DisposeNode(ANode);
|
DisposeNode(ANode);
|
||||||
end;
|
end;
|
||||||
|
|
||||||
// Clear
|
// Clear
|
||||||
begin
|
begin
|
||||||
DeleteNode(Root);
|
if Root<>nil then
|
||||||
|
DeleteNode(Root);
|
||||||
fRoot:=nil;
|
fRoot:=nil;
|
||||||
FCount:=0;
|
FCount:=0;
|
||||||
end;
|
end;
|
||||||
|
Loading…
Reference in New Issue
Block a user