From c75480148fbe25701549d50c5ad2ae49c5b84668 Mon Sep 17 00:00:00 2001 From: inoussa Date: Wed, 14 Jul 2010 18:04:43 +0000 Subject: [PATCH] Correct "easy access" proxy implementation not to free result property. git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@1252 8e941d3f-bd1b-0410-a28a-d453659cc2b4 --- wst/trunk/ws_helper/generator.pas | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/wst/trunk/ws_helper/generator.pas b/wst/trunk/ws_helper/generator.pas index 70fbe6885..00aaa69d8 100644 --- a/wst/trunk/ws_helper/generator.pas +++ b/wst/trunk/ws_helper/generator.pas @@ -827,14 +827,15 @@ Var if origineIsFunc then begin Indent(); WriteLn('%s := %s(%s);',[sOUTPUT_PARAM,origineMthd.Name,sINPUT_PARAM]); if localIsFunc then begin - Indent(); WriteLn('if ( %s <> nil ) then',[sOUTPUT_PARAM]); + Indent(); WriteLn('if ( %s <> nil ) then begin',[sOUTPUT_PARAM]); IncIndent(); - Indent(); WriteLn('Result := %s.%s',[sOUTPUT_PARAM,origineResProp.Name]); + Indent(); WriteLn('Result := %s.%s;',[sOUTPUT_PARAM,origineResProp.Name]); + Indent(); WriteLn('%s.%s := nil;',[sOUTPUT_PARAM,origineResProp.Name]); DecIndent(); elt := origineResProp.VarType; if elt.InheritsFrom(TPasUnresolvedTypeRef) then elt := SymbolTable.FindElement(SymbolTable.GetExternalName(elt)); - Indent(); WriteLn('else'); + Indent(); WriteLn('end else begin'); IncIndent(); if elt.InheritsFrom(TPasUnresolvedTypeRef) then begin Indent(); WriteLn('FillChar(Result,SizeOf(Result),#0);'); @@ -848,6 +849,7 @@ Var end; end; DecIndent(); + Indent(); WriteLn('end;'); end; end else begin Indent(); WriteLn('%s(%s);',[origineMthd.Name,sINPUT_PARAM]);