diff --git a/wst/trunk/base_soap_formatter.pas b/wst/trunk/base_soap_formatter.pas index bc3e41b43..bd08dce45 100644 --- a/wst/trunk/base_soap_formatter.pas +++ b/wst/trunk/base_soap_formatter.pas @@ -111,6 +111,7 @@ type TScopedArrayStackItem = class(TAbstractArrayStackItem) protected + destructor Destroy();override; function CreateList(const ANodeName : string):TDOMNodeList;override; end; @@ -2371,6 +2372,13 @@ end; { TScopedArrayStackItem } +destructor TScopedArrayStackItem.Destroy(); +begin + if ( FItemList <> nil ) then + FItemList := nil; + inherited Destroy(); +end; + function TScopedArrayStackItem.CreateList(const ANodeName : string): TDOMNodeList; begin if ScopeObject.HasChildNodes() then begin diff --git a/wst/trunk/wst_fpc_xml.pas b/wst/trunk/wst_fpc_xml.pas index 368b0facb..3bb1e04bb 100644 --- a/wst/trunk/wst_fpc_xml.pas +++ b/wst/trunk/wst_fpc_xml.pas @@ -80,9 +80,9 @@ end; procedure ReleaseDomNode(ADomNode : TDOMNodeList);overload; begin -{$IFNDEF TDOMNodeList_RELEASE_NOT_FREE} +{ $IFNDEF TDOMNodeList_RELEASE_NOT_FREE} ADomNode.Free(); -{$ENDIF} +{ $ENDIF} end; procedure ReleaseDomNode(ADomNode : TDOMNamedNodeMap);overload; diff --git a/wst/trunk/wst_rtti_filter/dom_cursors.pas b/wst/trunk/wst_rtti_filter/dom_cursors.pas index 766735cd3..7996a2c24 100644 --- a/wst/trunk/wst_rtti_filter/dom_cursors.pas +++ b/wst/trunk/wst_rtti_filter/dom_cursors.pas @@ -175,7 +175,7 @@ implementation begin Result := nil; if ( ANode <> nil ) and ANode.HasChildNodes() then begin - Result := TDOMNodeListCursor.Create(ANode.ChildNodes,faFreeOnDestroy) ; + Result := TDOMNodeListCursor.Create(ANode.ChildNodes,faNone) ; if ( AExposedType = cetRttiNode ) then Result := TDOMNodeRttiExposerCursor.Create(Result); end;