Browse Source

* Fix memory leak (bug ID 28157) by nomerelogic

git-svn-id: trunk@31019 -
michael 10 years ago
parent
commit
473adb5725
1 changed files with 10 additions and 3 deletions
  1. 10 3
      packages/googleapi/src/googleclient.pp

+ 10 - 3
packages/googleapi/src/googleclient.pp

@@ -81,6 +81,7 @@ Type
     Procedure CheckDefaults; virtual;
     Procedure CheckDefaults; virtual;
   Public
   Public
     Constructor Create(AOwner : TComponent); override;
     Constructor Create(AOwner : TComponent); override;
+    Destructor Destroy; override;
     Function GetAuthHandler : TOAuth2Handler;
     Function GetAuthHandler : TOAuth2Handler;
   Published
   Published
     Property AuthHandler : TOAuth2Handler Read GetAuthHandler Write SetAuthHandler;
     Property AuthHandler : TOAuth2Handler Read GetAuthHandler Write SetAuthHandler;
@@ -359,14 +360,20 @@ begin
   GetAuthHandler.OnUserConsent:=AValue;
   GetAuthHandler.OnUserConsent:=AValue;
 end;
 end;
 
 
-Constructor TGoogleClient.Create(AOwner: TComponent);
+constructor TGoogleClient.Create(AOwner: TComponent);
 begin
 begin
   inherited Create(AOwner);
   inherited Create(AOwner);
   FConfig:=TGoogleClientConfig.Create;
   FConfig:=TGoogleClientConfig.Create;
   CheckDefaults;
   CheckDefaults;
 end;
 end;
 
 
-Procedure TGoogleClient.CheckDefaults;
+destructor TGoogleClient.Destroy;
+begin
+  FConfig.Free;
+  inherited Destroy;
+end;
+
+procedure TGoogleClient.CheckDefaults;
 
 
 begin
 begin
   With AuthHandler.Config do
   With AuthHandler.Config do
@@ -379,7 +386,7 @@ begin
 end;
 end;
 
 
 
 
-Function TGoogleClient.GetAuthHandler: TOAuth2Handler;
+function TGoogleClient.GetAuthHandler: TOAuth2Handler;
 
 
 begin
 begin
   if (FAuthHandler=Nil) then
   if (FAuthHandler=Nil) then