Browse Source

* fix bug #9222 by Sergei Gorelkin

git-svn-id: trunk@8028 -
Almindor 18 years ago
parent
commit
8fff7af149
1 changed files with 3 additions and 1 deletions
  1. 3 1
      packages/fcl-xml/src/dom.pp

+ 3 - 1
packages/fcl-xml/src/dom.pp

@@ -1014,8 +1014,8 @@ end;
 
 
 destructor TDOMNode_WithChildren.Destroy;
 destructor TDOMNode_WithChildren.Destroy;
 begin
 begin
-  FreeAndNil(FChildNodeTree);
   FreeChildren;
   FreeChildren;
+  FreeAndNil(FChildNodeTree);  
   inherited Destroy;
   inherited Destroy;
 end;
 end;
 
 
@@ -1243,6 +1243,8 @@ procedure TDOMNode_WithChildren.FreeChildren;
 var
 var
   child, next: TDOMNode;
   child, next: TDOMNode;
 begin
 begin
+  if Assigned(FChildNodeTree) then
+    FChildNodeTree.Clear;
   child := FFirstChild;
   child := FFirstChild;
   while Assigned(child) do
   while Assigned(child) do
   begin
   begin