mirror of
https://gitlab.com/freepascal.org/lazarus/lazarus.git
synced 2025-08-14 09:59:20 +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);
|
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