mirror of
https://gitlab.com/freepascal.org/lazarus/lazarus.git
synced 2025-04-23 00:39:44 +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);
|
||||
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