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